C ++ modf

C ++ modf
MODF () ist eine integrierte vordefinierte Funktion in C ++-Programmiersprache. Diese Funktion wird für mathematische Berechnungen verwendet. Alle diese Funktionen sind in der Header -Datei von C ++ Math vorhanden. H'. Meistens wird die Variable 'Double' für alle Funktionen verwendet, die in dieser Bibliothek verfügbar sind, und gibt auch den Doppelwert als Ergebnis zurück.

Modf () arbeiten

Die MODF () -Funktion funktioniert so, dass sie das angegebene Argument in zwei Teile unterscheidet/unterteilt. Ein Wert wäre ein Ganzzahlwert, während der zweite der Bruchwert ist. Während der Ausführung dieser Funktion wird der ganzzahlige Teil in der Speicheradresse gespeichert, die durch den Zeiger gerichtet ist, dies tritt als zweites Argument der Funktion auf. Auf diese Weise wird der fraktionelle Teil des Wertes zurückgegeben.

Syntax von modf ()

Doppelmodf (a, & b)

Parameter

A: Es ist der Wert, auf den wir die Funktion anwenden müssen. Es ist in zwei Teile unterteilt.

B: Es ist ein Zeigertypwert, der nach dem Brechen auf den Ganzzahl Teil von a hinweist.

Rückgabewert

Der Rückgabewert im Bruchwert von a.

Prototyp von modf ()

  • Double modf (dble a, dble* intPart);
  • float modf (flt a, flt* intPart);
  • langes Doppelmodf (lng dble a, lng dble* intpart);

Implementierung der MODF () -Funktion

Beispiel 1

Im ersten Schritt schließen wir wie in allen C ++ - Programmen C ++ -Bupplungsbibliotheken ein, die für die Erfüllung einiger Funktionen und Operationen unerlässlich sind. In ähnlicher Weise sind in diesem Programm zwei Header -Dateien enthalten. Wie wir über das Eingangs- und Ausgabestreaming wissen, erfolgt dies von iOstream. Zweitens erfordert jede mathematische Operation, die Sie zum Programm hinzufügen möchten.

#enthalten
#enthalten

Dann wird im Hauptprogramm eine doppelte Variable durch einen Dezimalwert initialisiert. Und zwei Doppelvariablen intpart, und der FractPart werden auch hier eingeführt. Beide speichern die jeweiligen Werte nach der Trennung.

Die Funktion wird angewendet, deren Rückgabewert im variablen FraktPart gespeichert wird.

Modf (x & intPart)

Diese Funktion nimmt zwei Parameter hinein. Diese Funktion unterteilt die Dezimalzahl in integrale und fraktionale Teile. Hier werden wir eine weitere Dezimalzahl, aber eine negative Zahl nehmen. Dies wird wieder auf die gleiche Weise die gleiche Methode von MODF verwenden.

Beim Kompilieren des Codes brauchen wir einen Compiler. Das ist G ++, eine Eingabedatei, in der der Code vorhanden ist, eine Ausgabedatei, auf der das Ergebnis angezeigt wird. Dies erfordert ein Schlüsselwort '-o', um die Ausgabe in der Datei zu speichern.

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

Bei der Ausführung sehen Sie, dass ein positiver Dezimalwert in einen integralen Teil und im Bruchteil aufgeteilt wird. Während für den zweiten Wert sind die resultierenden Werte gleich, aber beide sind negativ, da der Eingangswert negativ ist.

Beispiel # 2

In diesem Beispiel werden wir anstatt ein Doppel- oder Dezimalwert zu haben. Bei Dezimalwerten wurde durch den Wert des Wertes klar über das Integral und den Bruchteil klar. Weil der integrale Teil derjenige ist, der vor der Dezimalzahl liegt. '.''. Während der Bruchteil nach dem Punkt liegt. Die genaue Antwort wird jedoch mit der Funktion modf () erhalten. Im Falle einer Ganzzahl ist die Dezimalzahl nicht vorhanden. Wie können wir die MODF -Funktion in dieser Situation anwenden?? Wir werden es durch ein Beispiel sehen. Sowohl der intPart als auch der FractPart werden als Doppel -Datentyp genommen. Die Funktion von MODF wird genauso angewendet, wie wir im ersten Beispiel angewendet wurden.

FractPart = modf (x, & intPart);

Speichern Sie den Code und dann werden wir ihn mit dem Compiler ausführen.

Bei der Ausführung sehen Sie, dass die Ganzzahl als Ganzes an der Stelle eines integralen Teils geschrieben ist, und dann wird das Pluszeichen hinzuge Teil. Deshalb berechnet die Funktion sie automatisch als 0.

Beispiel # 3

Jetzt werden wir den Benutzer auffordern, eine beliebige Zahl einzugeben, und dann verwenden wir die Funktion modf () für diesen Wert, damit die Funktion beide Werte von der Variablen trennen kann. Ausgehend von den beiden grundlegenden Bibliotheken wie die vorherigen Beispiele. Bei der Ausführung wird eine Nachricht auf dem Terminal zu sehen, damit der Benutzer die Nummer eingibt.

Die Funktion wird auf die Werte angewendet. Das Integral und der fraktionelle Teil werden entsprechend angezeigt, abhängig von dem Wert, den der Benutzer eingibt. Jetzt werden wir den Code ausführen und dann verschiedene Werte eingeben, um den resultierenden Wert gemeinsam zu sehen.

Erstens werden wir einen negativen Wert eingeben, aber es wird kein Dezimalwert sein. Wenn die Funktion auf den Wert angewendet wird, trennt sie jedes Integral und den Bruchteil. Da es keine fraktionelle Ziffer gibt, ist die Antwort also Null. Aber das negative Vorzeichen wird immer noch mit dem Nullteil erfolgen.

Die Funktion trennt jedoch nur die Zahlen unabhängig von dem Zeichen, das wir mit den Ganzzahlen angewendet haben. Jetzt werden wir '0' als Eingabemummer eingeben. Diesmal ist die Antwort sowohl für die Integral- als auch für die fraktionalen Werte gleich.

Beispiel # 4

Bis jetzt haben wir Ganzzahl und Doppelwerte als Eingabe für das Programm genommen, aber hier nehmen wir eine Zeichenfolge anstelle eines Float- oder Ganzzahl -Datentyps. Unabhängig von der Zahl, die eine Dezimalzahl ist '5.06 '. Nehmen Sie zunächst zwei Doppelvariablen, die in der MODF-Funktion verwendet werden. Und für den Eingangswert nehmen Sie einen String-Datentypwert, der in den Doppelquoten eingeschlossen ist.

String k = "5.06 ";

Wenden Sie nun die Funktion darauf an, um die Zeichenfolge in zwei Teile zu unterteilen. Schließen Sie das Programm, speichern Sie es und gehen Sie dann zur Ausführung zum Terminal.

Wenn Sie das Programm ausführen, werden Sie feststellen, dass während der Zusammenstellung ein Fehler aufgetreten ist und das Programm ohne Ausführung beendet wird. Dies zeigt an, dass "keine Übereinstimmungsfunktion für den Anruf bei Modf () ...". Dies bedeutet, dass der Fehler im Funktionsaufruf liegt.

Aus diesem Grund wird angegeben, dass die Funktion modf () nur doppelte, ganzzahlige und float als Parameter nimmt. Es akzeptiert keine Zeichenfolgen der Charaktere. Deshalb ist der Fehler erschienen. Obwohl der Wert Zahlen mit einer Dezimalanteil als Datentyp der Variablen als Zeichenfolge enthält, bedeutet dies, dass der Wert keine Ganzzahl, sondern eine Zeichenfolge war. Der Modf () überprüft den Wert und führt ihn dann durch die Trennung der Eingabemummer aus.

Abschluss

'C ++ modf ()' ist die Beschreibung der Funktionen von modf () in C ++ - Quellcode, den wir im Ubuntu -Texteditor und im Linux -Terminal implementiert haben. Jedes Beispiel wird implementiert, indem ein anderer Ansatz folgt. MODF () bricht zwei Werte als Ergebnis. Einer ist integral und der zweite ist der Bruchteil. Eine integrierte Funktion erfordert nur zwei Parameter und bei der Ausführung gibt nur ein fraktionaler Teil zurück.