Diffime -Funktion in C ++

Diffime -Funktion in C ++
Bei der Berechnung oder Durchführung eines Vorgangs benötigen wir möglicherweise eine Funktion, um die bisherige Gesamtzeit zu berechnen oder die Differenz der Zeit in Sekunden zwischen zwei Punkten zu liefern. In C ++ kann es unterschiedliche Möglichkeiten geben, diese Aufgabe unangemessen auszuführen. Wir werden jedoch die integrierte Funktion von C ++ diskutieren, dh Diffftime () -Funktion, da der Name angibt, dass er den Zeitunterschied berechnet. Diese Funktion ist in der Bibliothek definiert . Wenn wir also bereit sind, die Zeit zu berechnen, benötigen wir diese Bibliothek im Quellcode.

Syntax von Differne ()

double diffime (time_obj end, time_obj start);

Die Funktion nimmt zwei Parameter hinein. Dies sind die Objekte, die durch das Objekt der Zeit "time_obj" deklariert werden. Eines ist das "Ende", das die Endzeit eines jeden Prozesses zeigt. Gleichzeitig ist der zweite der "Start", der die Startzeit darstellt. Der Rückgabewert der Funktion der Diffime () gibt die Differenz zwischen der Zeit in Sekunden zurück, die von den beiden oben beschriebenen Objekten erhalten wurden.

Diese Funktion ist mit der integrierten Funktionszeit () in C ++ verbunden, da diese Funktion die aktuelle Kalenderzeit zurückgibt. Dies ist auch in der Header -Datei von C vorhanden++.

Implementierung der Differenz () -Funktion

Beispiel 1 # DiFftime () für die Produkte

Um den Unterschied zwischen zweimal in Sekunden zu ermitteln. In der C ++ - Programmiersprache muss diese Bibliothek verwendet werden.

#enthalten
#enthalten

Wie bereits erwähnt, sind im Hauptprogramm zwei Objekte, Start und Finish erforderlich, um den Unterschied zwischen den Zeiten zu berechnen. Diese beiden Objekte werden mit Time_Time deklariert.

Time_t Start, fertig stellen

Eine weitere Variable mit dem Namen eines langen Datentyps wird deklariert, der die Betriebsergebnisse speichern. Wenn die Logik, die wir im Programm anwenden möchten.

Mal starten);
Zeit (& Finish);

Da das Startzeitobjekt die Zeit startet und fortgesetzt wird, während die Funktion/ den Betrieb nach Abschluss des Vorgangs im Gange ist, stellt das fertige Objekt den Zeitpunkt des Endes fest. In diesem nachstehend erläuterten Programm haben wir beispielsweise eine einfache verschachtelte "für" Schleife zur Berechnung des Produkts von zwei Werten verwendet. Diese beiden Werte beginnen von 0 und enden mit einem großen Wert. Die äußere 'für' Schleife endet vor 1000, und die innere Schleife endet bei 30000; In der 'for' -Schleife, dem Körper in jeder Iteration, der Zahl aus der Außenseite und der Zahl aus der inneren Schleife werden multipliziert. Die Variablen 'I' und 'J' werden nach jeder Iteration zu jeder Zahl bezeichnet, eine neue Zahl in jedem Zyklus. Der Ergebnis wird in der "Produkt" -Variable gespeichert

Produkt = I * J;

Die erforderliche Zeit, die wir erhalten möchten, wird durch die Diffimierungsfunktion berechnet. Da diese Funktion zwei Parameter enthält, ist die Funktion:

Schwierig (Finish, Start);

Diese Funktion gibt die Zeit zurück, die durch Subtrahieren der Startzeit von der Endzeit erhalten wird.

Speichern Sie nun den Quellcode mit der C -Erweiterung. Wir verwenden einen G ++ - Compiler, um eine C ++ - Datei zu kompilieren und sie auszuführen. Die Datei, die wir hier verwendet haben. c 'Das enthält den Quellcode, er wird kompiliert und die Ausgabe wird in der Ausgabedatei über' -o 'gespeichert.

$ g ++ -o diff.C
$ ./diff

Sie können sehen, dass die erforderliche Zeit 0 Sekunden beträgt. Dies bedeutet, dass die verschachtelte Schleife das Produkt in 0 Sekunden berechnet. Im obigen Code ist der Wert in der äußeren für die Schleife kleiner als der innere. Was ist, wenn der Wert im inneren für die Schleife kleiner als die äußere für die Schleife wird? Wir werden später erklären. Der Rest der Anforderungen ist gleich. Das Produkt wird in der Schleife berechnet. Wir werden die Start- und Fertigstellung der Objekte verwenden, um die Start- und Endwerte zu notieren.

Speichern Sie nun den Code und führen Sie ihn aus. Bei der Ausführung werden Sie sehen, dass es einige Zeit dauern wird. Im Vergleich zur vorherigen Situation dauert dies nur null Sekunden, und das Ergebnis wurde abrupt angezeigt, aber in diesem Fall scheint es, dass es mehr als null Sekunden geben muss.

Nach einigem Warten sehen Sie die resultierende Erklärung. Daher dauerten die Schleifen 62 Sekunden, um durchzuführen, damit das Produkt von zwei Werten während jeder Iteration berechnet werden kann.

Beispiel 2 # DiFftime () für verschachtelte Schleifen

Im Gegensatz zur vorherigen Aussage haben wir hier eine andere Bibliothek verwendet.

Es ist nicht erforderlich, "iOstream" und "Cime" oder in einer anderen Bibliothek mit dieser Bibliothek anzugeben. Beide Variablen werden initialisiert. In diesem Beispiel haben wir dreimal verschachtelt für Schleifen verwendet. Jede verschachtelte Schleife endet und die nächste verschachtelte Schleife beginnt. Jede Schleife in der verschachtelten Schleife hat einen anderen Wert für die Variable I; Für die J -Variable sind die Werte für die innere Schleife gleich gleich.

Darüber hinaus haben wir nichts oder einen Betrieb berechnet. Nur die Ausführung der Schleifen hatte stattgefunden. Start- und Endvariablen beobachten den Start und die Endzeit.

Nach jeder Ausführung wird letztendlich die Funktion der DIFFTIME () aufgerufen, um die Antwort auszuführen.

Schwierig (Ende, Start)

Wir werden den Quellcode ausführen, um die Sekunden zu sehen, die bei der Ausführung von drei verschachtelten Schleifen verbraucht werden.

Es wird überhaupt 10 Sekunden für alle drei Schleifen dauern.

Beispiel 3 # DiFftime () für eine Zeit zwischen den Daten

Um den Zeitunterschied vom Beginn des Programms zu berechnen, bis es endet. Unser Anliegen der Diskussion ist es, den Unterschied in Sekunden von einem bestimmten Tag bis jetzt zu berechnen. Hier werden die Daten nicht richtig erwähnt. Das Programm holt das aktuelle Datum jedoch aus dem System. Hier werden wir den Zeitunterschied in Sekunden nach dem Neujahrstag bis jetzt berechnen.

Das Objekt der Zeitbibliothek wird verwendet, um die aktuelle Zeit zu holen, damit die Differenz berechnet werden kann. Hier brauchen wir nicht die Start- und Endvariablen separat.

Eine Struktur der Zeit "Neujahr" wird hier initialisiert. Wir werden die Variable "Jetzt" verwenden, um die aktuelle Zeit zu erhalten.

Zeit (& jetzt);

Das Objekt 'TM' der Neujahrsstruktur wird die Stunden, die min, min, Sekunden und den Monat als Null deklarieren. Die Funktionsdifferenz wird aufgerufen, die jetzt (aktuelle Zeit) und eine weitere integrierte Funktion innerhalb des Parameters dauern wird, um die neue Zeit in Sekunden zu erhalten.

Sekunden = schwierig (jetzt, MkTime (& Newyar));

Führen Sie nun das Programm aus; Sie werden sehen, dass bisher 6036632 Sekunden nach dem aktuellen Datum Ihres Systems verabschiedet werden.

Abschluss

'Difftime () c ++' ist eine Funktion, die sich mit dem Abholen der Zeit in Sekunden befasst, die durch Subtrahieren der Zeit des Beginns ab dem Ende des Endes; Diese beiden Variablen eines Zeitobjekttyps werden verwendet, um Zeit in Sekunden zu liefern. Jetzt, um den Artikel abzuschließen, werden wir über einige Beispiele sprechen, die wir in den Artikel aufgenommen haben. Diese Funktion hilft auch dabei, die Zeit von einem bestimmten Datum bis jetzt zu liefern, wie oben im Beispiel beschrieben.