C ++ modf

C ++ modf
Modf () er en innebygd forhåndsdefinert funksjon på C ++ programmeringsspråk. Denne funksjonen brukes til matematiske beregninger. Alle disse funksjonene er til stede i overskriftsfilen til C ++ matematikk. h '. Stort sett brukes variabelen 'dobbel' for alle funksjonene som er tilgjengelige i dette biblioteket, og returnerer også dobbeltverdien som resultat.

Modf () arbeider

Modf () -funksjonen fungerer på en slik måte at den skiller/bryter det gitte argumentet i to deler. En verdi vil være en heltallverdi, mens den andre er brøkverdien. Mens den utfører denne funksjonen, lagrer den heltalldelen i minneadressen som er pekt gjennom pekeren, det er som et annet argument for funksjonen. På denne måten returneres den brøkdelte delen av verdien.

Syntaks av MODF ()

Dobbel modf (a, & b)

Parametere

EN: det er verdien vi må bruke funksjonen. Det er delt opp i to deler.

B Det er en pekertypeverdi som peker mot heltalldelen av en, etter bruddprosess.

Returnerende verdi

Den returnerende verdien i brøkverdien av en.

Prototype av modf ()

  • dobbel modf (dble a, dble* intpart);
  • float modf (flt a, flt* intpart);
  • lang dobbel modf (lng dble a, lng dble* intpart);

Implementering av MODF () -funksjon

Eksempel 1

I det første trinnet, som i alle C ++ -programmene, inkluderer vi C ++ støttebiblioteker som er avgjørende for å oppnå noen funksjoner og operasjoner. Tilsvarende i dette programmet er to overskriftsfiler inkludert. Som vi vet om inngangs- og utgangsstrømming, gjøres dette av iostream. For det andre trenger enhver matematikkoperasjon du vil legge til programmet involvering av CMATH -biblioteket.

#inkludere
#inkludere

I hovedprogrammet vil en dobbel variabel bli initialisert med en desimalverdi. Og to variabler av dobbelt type, og fraktpartiet blir også introdusert her. Disse vil begge lagre de respektive verdiene etter separasjonen.

Funksjonen brukes, hvis returverdi vil bli lagret i den variable fraktpartiet.

MODF (X, & INTPART)

Denne funksjonen vil ta to parametere i den. Denne funksjonen vil dele desimaltallet i integrerte og brøkdeler. Her vil vi ta et nytt desimal, men et negativt tall. Dette vil igjen bruke den samme metoden for MODF på samme måte.

Mens vi sammenstiller koden, trenger vi en kompilator. Det er G ++, en inndatafil som koden er til stede, en utdatafil som resultatet vises. Dette trenger et '-o' nøkkelord for å lagre utdataene i filen.

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

På utførelsen vil du se at en positiv desimalverdi er delt inn i en integrert del og i den brøkdelte delen. Mens for den andre verdien er de resulterende verdiene de samme, men begge vil være negative ettersom inngangsverdien er negativ.

Eksempel nr. 2

I dette eksemplet, i stedet for å ha en dobbel eller en desimalverdi, vil vi ta en heltallverdi. Ved desimalverdier, ved å se verdien, ble det klart om integralen og brøkdelen. Fordi den integrerte delen er den som ligger før desimalen '.'. mens den brøkdelen ligger etter punktet. Men det nøyaktige svaret oppnås ved å bruke MODF () -funksjonen. Så når det gjelder et heltall, er ikke desimalen til stede. Hvordan kan vi bruke MODF -funksjonen i denne situasjonen? Vi vil se det gjennom et eksempel. Både IntPart og FractPart er tatt som en dobbel datatype. Funksjonen til MODF brukes på samme måte som vi har brukt i det første eksemplet.

Fraktpart = modf (x, & intpart);

Lagre koden og så vil vi utføre den med kompilatoren.

Ved utførelse vil du se at heltallet som helhet er skrevet i stedet for en integrert del, og deretter blir pluss -tegnet lagt til, og etter det er '0' skrevet fordi heltallverdien ikke hadde noen desimalfraksjon og noen brøkdel del. Derfor vil funksjonen automatisk beregne den som 0.

Eksempel nr. 3

Nå vil vi be brukeren om å oppgi et hvilket. Starter fra de to grunnleggende bibliotekene som de tidligere eksemplene hadde. Ved utførelse vil en melding sees på terminalen, slik at brukeren oppgir nummeret.

Funksjonen vil bli brukt på verdiene. Integral og brøkdelen vises deretter, avhengig av verdien som brukeren vil legge inn. Nå vil vi utføre koden, og så vil vi legge inn forskjellige verdier for å se den resulterende verdien samlet.

For det første vil vi oppgi en negativ verdi, men det vil ikke være en desimalverdi. Når funksjonen vil bli brukt på verdien, vil den skille hver integral og brøkdelen. Ettersom det ikke er noen brøkdiffer, så svaret vil være null. Men det negative tegnet vil fortsatt være med nulldelen.

Men funksjonen skiller bare tallene uavhengig av tegnet vi har brukt med heltallene. Nå vil vi legge inn '0' som et inngangsnummer. Denne gangen, både for integrerte og brøkverdier, vil svaret være det samme.

Eksempel 4

Til nå har vi tatt heltall og doble verdier som inngang for programmet, men her vil vi ta en streng i stedet for en hvilken som helst float, eller heltalldatatype. Uansett antall som er et desimaltall '5.06 '. Først, ta to variabler av dobbelt type som vil bli brukt i MODF-funksjonen. Og for inngangsverdien, ta en strengdatatypeverdi som er vedlagt i dobbeltkvotene.

String k = "5.06 ";

Nå, bruk funksjonen på den for å dele strengen i to deler. Lukk programmet, lagre det og gå til terminalen for utførelse.

Når du vil utføre programmet, vil du se at under sammenstilling har det oppstått en feil og programmet avsluttes uten utførelse. Dette indikerer at 'ingen matchende funksjon for samtale til modf () ...'. Dette betyr at feilen ligger i funksjonssamtalen.

Fra dette heter det at MODF () -funksjonen bare tar doble, heltall og flyteverdier som parameter. Den godtar ikke strengene av karakterene. Derfor har feilen dukket opp. Selv om verdien inneholder tall med en desimalfraksjon som datatype av variabel som en streng, betyr det at verdien ikke var et heltall, men en streng. Modf () sjekker verdien og utfører den deretter ved å skille inngangsnummeret.

Konklusjon

'C ++ modf ()' er beskrivelsen av arbeidet med Modf () -funksjonen i C ++ kildekode som vi har implementert på Ubuntu Text Editor og Linux -terminalen. Hvert eksempel implementeres ved å følge en annen tilnærming. Modf () bryter to verdier som et resultat. Den ene er integrert og den andre er den brøkdelte delen. En innebygd funksjon tar bare to parametere og returnerer bare en brøkdel av utførelsen.