Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 975

 
BAS581:

Ich danke Ihnen für Ihre Hilfe. Wenn man weiß, dass es eine Lösung gibt, ist es einfacher, sie zu finden. )))

In diesem Fall war die Lösung folgende: Verkleinern Sie in FireFox die Seite, und dann erscheint die Lupe.

Es ist nur nicht mit normalem Zoom verfügbar.

Wechseln Sie Ihren Browser auf einen Standardbrowser!
 
Frage an C-Experten - wie kann der folgende Code korrigiert werden?
(unabhängig davon, welche Zahl ich beim Ausführen der ausführbaren Datei eingebe, erhalte ich immer "2"):

#include <stdio.h>
 
int main (int k) {
    printf("number %d \n", k);
 
    return 0;
}
 
atztek:
Frage an C-Experten - wie kann der folgende Code korrigiert werden?
(egal welche Zahl ich eingebe, wenn ich die ausführbare Datei ausführe, erhalte ich immer "2"):


Zur Annahme von Befehlszeilenargumenten werden zwei spezielle eingebaute Argumente verwendet: argc und argv. Der Parameter argc enthält die Anzahl der Argumente in der Befehlszeile und ist eine ganze Zahl, immer mindestens 1, da das erste Argument als Programmname angenommen wird. Der Parameter argv ist ein Zeiger auf ein Array von String-Zeigern. In diesem Array verweist jedes Element auf ein Kommandozeilenargument. Alle Befehlszeilenargumente sind Zeichenketten, so dass die Umwandlung von Zahlen in ein gewünschtes Binärformat während der Entwicklung des Programms vorgesehen werden muss.

PS: Von hier aus

 
PozitiF:

Zwei spezielle eingebaute Argumente werden für die Annahme von Befehlszeilenargumenten verwendet: argc und argv. Der Parameter argc enthält die Anzahl der Argumente in der Befehlszeile und ist eine ganze Zahl, immer mindestens 1, da das erste Argument der Programmname ist. Der Parameter argv ist ein Zeiger auf ein Array von String-Zeigern. In diesem Array verweist jedes Element auf ein Kommandozeilenargument. Alle Befehlszeilenargumente sind Zeichenketten, so dass eine Konvertierung in das Binärformat während der Entwicklung des Programms eingeplant werden muss.

PS: von hier aus

Danke, ich hab's.
Ich bin mir nicht sicher, was die Namen der Argumente angeht (es könnte noch andere geben), aber das ist wirklich die Idee.
 

Dies ist eine Frage, die mit der C-Programmierung zusammenhängt, aber in diesem Fall allgemeiner Natur ist.
Das Programm muss etwa 500 Stunden lang laufen, danach sollte es automatisch aufhören.
Wie kann man die Prüfung korrekt durchführen, so dass der Prozessor so wenig wie möglich belastet wird?

Soweit ich mich erinnere, brauchen wir eine Schleife (while/for), in der die aktuelle Zeit geprüft und dann mit dem Zeitpunkt der Beendigung verglichen wird. Wenn dieser Wert erreicht ist, wird die Arbeit eingestellt. Ist das richtig oder habe ich etwas übersehen?

 
atztek:

Ich habe eine Frage, die sich auf die C-Programmierung bezieht, aber in diesem Fall ist sie allgemeiner Natur.
Das Programm muss etwa 500 Stunden lang laufen, danach sollte seine Ausführung automatisch beendet werden.
Wie führt man die Prüfung richtig durch, um den Prozessor so wenig wie möglich zu belasten?

Soweit ich mich erinnere, brauchen wir eine Schleife (while/for), in der die aktuelle Zeit geprüft und dann mit dem Zeitpunkt der Beendigung verglichen wird. Wenn dieser Wert erreicht ist, wird die Arbeit eingestellt. Ist das richtig oder übersehe ich etwas?

WinAPI hat einen Zeitgeber https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644906%28v=vs.85%29.aspx


Beispiele für den Gebrauch.

 
Für WinAPI Danke! Und im allgemeinen, einfacheren Fall, sieht das, was ich beschrieben habe (auf der Ideenebene) richtig aus oder nicht?
 
Hallo ihr Lieben!

Bitte helfen Sie bei der Übersetzung des Algorithmus zur Bestimmung der Koordinaten des Schnittpunkts zweier Segmente

Aus dem Artikel:

Es ist ganz einfach!
x1,y1 und x2,y2 sind die Koordinaten der Eckpunkte des ersten Segments;
x3,y3 und x4,y4 sind die Koordinaten der Scheitelpunkte des zweiten Segments;

Um den Schnittpunkt zu finden, stellen wir die Gleichungen der Linien auf:
erste Gleichung:
(x-x1)/(x2-x1)=(y-y1)/(y2-y1);
zweite Gleichung
(x-x3)/(x4-x3)=(y-y3)/(y4-y3);
Diese Gleichungen definieren eine Linie, die durch zwei Punkte verläuft, und das ist es, was wir brauchen.
Aus diesen Gleichungen lassen sich x und y mit den folgenden Formeln ermitteln:
x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)-(y3-y4)*(x2-x1));
y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3);
Da sich unsere Linien schneiden, haben sie einen gemeinsamen Schnittpunkt mit den Koordinaten (x,y), den wir finden müssen.
Damit der Schnittpunkt zu unseren Liniensegmenten gehört, müssen wir ihn einschränken, d. h. die Bedingung überprüfen:
wenn
(((x1<=x)und(x2>=x)und(x3<=x)und(x4 >=x))oder((y1<=y)und(y2>=y)und(y3<=y) und(y4>=y))
dann gibt es einen Schnittpunkt dieser Segmente, und wenn nicht, gibt es keinen Schnittpunkt.
Sie sollten auch die Parallelität dieser Segmente mit Hilfe von Winkelkoeffizienten überprüfen:
k1:=(x2-x1)/(y2-y1);
k2:=(x4-x3)/(y4-y3);
wobei k1 und k2 die Tangenten des Neigungswinkels der Segmente an die positive Richtung der Achse ОХ sind, wenn k1=k2, dann sind die Segmente parallel, sie haben also keine Schnittpunkte.

Готовая функция.
Код:

POINT Point_X(POINT a1,POINT a2,POINT a3,POINT a4){
        POINT T;
        if(((a1.x<=T.x)&&(a2.x>=T.x)&&(a3.x<=T.x)&&(a4.x >=T.x))||((a1.y<=T.y)&&(a2.y>=T.y)&&(a3.y<=T.y)&&(a4.y>=T.y))){
                float x1=a1.x,x2=a2.x,x3=a3.x,x4=a4.x,y1=a1.y,y2=a2.y,y3=a3.y,y4=a4.y;
                float k1,k2;
                if(y2-y1!=0){
                        k1=(x2-x1)/(y2-y1);
                        if(y4-y3!=0){
                                k2=(x4-x3)/(y4-y3);
                                if(k1!=k2){
                                        T.x=((a1.x*a2.y-a2.x*a1.y)*(a4.x-a3.x)-(a3.x*a4.y-a4.x*a3.y)*(a2.x-a1.x))/((a1.y-a2.y)*(a4.x-a3.x)-(a3.y-a4.y)*(a2.x-a1.x));
                                        T.y=((a3.y-a4.y)*T.x-(a3.x*a4.y-a4.x*a3.y))/(a4.x-a3.x);
                                        T.x*=-1;
                                        return T;
                                }else{
                                        T.x=969; T.y=969;
                                        //text2("Паралельны");
                                }
                        }else{
                                T.x=969; T.y=969;
                                //text2("Паралельны");
                        }
                }else{
                        T.x=969; T.y=969;
                        //text2("Паралельны");
                }
        }else{
                //text2("Пересечение вне отрезка");
                T.x=979; T.y=979;
                return T;
        }

}

Oder hat vielleicht jemand ein fertiges Exemplar in den Archiven?

 
optionany:

Grüße

Verfügt MT4 über eine Funktion, um interne Terminal-Mails an oder SMS zu senden (z.B. um Server-Neustart-Nachrichten zu erhalten)?

Leute, weiß denn niemand davon?
 
optionany:
Weiß denn niemand etwas davon?
Darf deine Mutter die Unterlagen nicht lesen? Wie SendMail.