Modf () Working
La funzione Modf () funziona in modo tale da separare/rompere l'argomento dato in due parti. Un valore sarebbe un valore intero, mentre il secondo è il valore frazionario. Durante l'esecuzione di questa funzione, memorizza la parte intera nell'indirizzo di memoria che viene puntato attraverso il puntatore, che si verifica come un secondo argomento della funzione. In questo modo, la parte frazionaria del valore viene restituita.
Sintassi di MODF ()
Double Modf (A e B)Parametri
UN: è il valore su cui dobbiamo applicare la funzione. È suddiviso in due parti.
B: È un valore di tipo puntatore che indica la parte intera di un processo di rottura.
Valore di ritorno
Il valore di ritorno nel valore frazionario di a.
Prototipo di modf ()
Implementazione della funzione Modf ()
Esempio 1
Nel primo passo, come in tutti i programmi C ++, includiamo librerie di supporto C ++ che sono essenziali per la realizzazione di alcune funzionalità e operazioni. Allo stesso modo in questo programma, sono inclusi due file di intestazione. Come sappiamo sull'input e lo streaming di output, questo viene fatto da iostream. In secondo luogo, qualsiasi operazione di matematica che desideri aggiungere al programma richiede il coinvolgimento della libreria CMATH.
#includereQuindi nel programma principale, una doppia variabile sarà inizializzata con un valore decimale. E due variabili a doppio tipo Intpart e la fractpart sono anche introdotte qui. Entrambi memorizzeranno i rispettivi valori dopo la separazione.
La funzione viene applicata, il cui valore di ritorno verrà memorizzato nella FractPart variabile.
MODF (X e IntPart)
Questa funzione richiederà due parametri in essa. Questa funzione romperà il numero decimale in parti integrali e frazionarie. Qui, prenderemo un altro decimale ma un numero negativo. Questo utilizzerà nuovamente lo stesso metodo di MODF allo stesso modo.
Durante la compilazione del codice, abbiamo bisogno di un compilatore. Questo è G ++, un file di input in cui è presente il codice, un file di output su cui verrà visualizzato il risultato. Questo richiede una parola chiave '-o' per salvare l'output nel file.
$ g ++ -o modf modf.CDurante l'esecuzione, vedrai che un valore decimale positivo è diviso in una parte integrante e nella parte frazionaria. Considerando che per il secondo valore, i valori risultanti sono gli stessi, ma entrambi saranno negativi poiché il valore di input è negativo.
Esempio n. 2
In questo esempio, invece di avere un valore doppio o decimale, prenderemo un valore intero. Nel caso dei valori decimali, vedendo il valore, è diventato chiaro sull'integrale e sulla parte frazionaria. Perché la parte integrale è quella che si trova prima del decimale '.'. mentre la parte frazionaria sta dopo il punto. Ma la risposta accurata si ottiene utilizzando la funzione MODF (). Quindi, nel caso di un numero intero, il decimale non è presente. Come possiamo applicare la funzione MODF in questa situazione? Lo vedremo attraverso un esempio. Sia Intpart che FractPart sono presi come un doppio tipo di dati. La funzione di MODF viene applicata allo stesso modo in cui abbiamo applicato nel primo esempio.
FractPart = Modf (x, & IntPart);Salva il codice e quindi lo eseguiremo con il compilatore.
Durante l'esecuzione, vedrai che l'intero nel suo insieme è scritto nel luogo di una parte integrante, quindi viene aggiunto il segno più e successivamente è scritto "0" perché il valore intero non aveva alcuna frazione decimale e qualsiasi frazione parte. Ecco perché la funzione la calcolerà automaticamente come 0.
Esempio n. 3
Ora chiederemo all'utente di inserire qualsiasi numero e quindi useremo la funzione Modf () su quel valore in modo che la funzione possa separare entrambi i valori dalla variabile. A partire dalle due librerie di base come avevano gli esempi precedenti. Durante l'esecuzione, un messaggio vedrà visualizzato nel terminale, in modo che l'utente inserisca il numero.
La funzione verrà applicata ai valori. L'integrale e la parte frazionaria verranno visualizzati di conseguenza, a seconda del valore che l'utente immetterà. Ora eseguiremo il codice e quindi inseriremo valori diversi per vedere il valore risultante collettivamente.
Innanzitutto, inseriremo un valore negativo, ma non sarà un valore decimale. Quando la funzione verrà applicata al valore, separerà ogni parte integrante e frazionaria. Poiché non esiste una cifra frazionaria, quindi la risposta sarà zero. Ma il segno negativo sarà ancora con la parte zero.
Ma la funzione separa solo i numeri indipendentemente dal segno che abbiamo applicato con i numeri interi. Ora inseriamo '0' come numero di input. Questa volta, sia per l'integrale che per i valori frazionari, la risposta sarà la stessa.
Esempio # 4
Fino ad ora, abbiamo preso i valori interi e doppi come input per il programma, ma qui prenderemo una stringa invece di qualsiasi galleggiante o tipo di dati interi. Indipendentemente dal numero che è un numero decimale '5.06 '. Innanzitutto, prendi due variabili a doppio tipo che verranno utilizzate nella funzione MODF. E per il valore di input, prendi un valore di tipo di dati stringa che è racchiuso nelle doppie quote.
String K = "5.06 ";Ora, applica la funzione su di essa per rompere la stringa in due parti. Chiudi il programma, salvalo e poi vai al terminale per l'esecuzione.
Quando eseguirai il programma, vedrai che durante la compilation si è verificato un errore e il programma viene terminato senza esecuzione. Ciò indica che "nessuna funzione di corrispondenza per Call to Modf () ...". Ciò significa che l'errore sta nella chiamata della funzione.
Da questo, si afferma che la funzione Modf () richiede solo i valori doppi, interi e galleggianti come parametro. Non accetta stringhe dei personaggi. Ecco perché è apparso l'errore. Sebbene il valore contenga numeri con una frazione decimale come tipo di dati di variabile come stringa, significa che il valore non era un numero intero, ma una stringa. Il modf () controlla il valore e quindi lo esegue separando il numero di input.
Conclusione
'C ++ modf ()' è la descrizione della funzione funzionante di modf () nel codice sorgente C ++ che abbiamo implementato sull'editor di testo Ubuntu e sul terminale Linux. Ogni esempio viene implementato seguendo un approccio diverso. Modf () rompe due valori di conseguenza. Uno è parte integrante e il secondo è la parte frazionaria. Una funzione integrata richiede solo due parametri e l'esecuzione restituisce solo una parte frazionaria.