Diff -funksjon i C ++

Diff -funksjon i C ++
Når vi beregner eller utfører en hvilken som helst operasjon, kan vi trenge noen funksjon for å beregne den totale tiden som har gått til nå eller gi tidsforskjellen på sekunder mellom to punkter. I C ++ kan det være forskjellige måter å utføre denne oppgaven upassende. Men vi vil diskutere den innebygde funksjonen til C ++, det vil si DIFFTIME () -funksjon, ettersom navnet indikerer at det beregner forskjellen i tid. Denne funksjonen er definert på biblioteket . Så når vi er villige til å beregne tid, trenger vi dette biblioteket i kildekoden.

Syntaks av difftid ()

dobbel diff time (time_obj end, time_obj start);

Funksjonen tar to parametere i den. Dette er objektene som er erklært gjennom objektet av tid 'TIME_OBJ'. Den ene er 'enden' som viser slutttiden for enhver prosess. Samtidig er den andre "start" som representerer starttiden. Den returnerende verdien av diff -tiden () -funksjonen returnerer forskjellen mellom tiden i sekunder oppnådd fra de to objektene som beskrevet ovenfor.

Denne funksjonen er assosiert med den innebygde funksjonstiden () i C ++, da denne funksjonen returnerer gjeldende kalendertid. Dette er også til stede i overskriftsfilen til C++.

Implementering av DiffTime () -funksjon

Eksempel 1 # DiffTime () for produktene

For å finne forskjellen mellom to ganger på få sekunder, er det nødvendig å legge til biblioteket der diff -tiden () -funksjonen er definert. På programmeringsspråket C ++ må dette biblioteket brukes.

#inkludere
#inkludere

Som diskutert tidligere, i hovedprogrammet, er to objekter, start og finish, nødvendige for å beregne forskjellen mellom tider. Disse to objektene er deklarert ved å bruke time_time.

TIME_T START, FORSLAG

En annen variabel med navneproduktet av en lang datatype er erklært som vil lagre operasjonen resulterer i det. Hver gang logikken vi ønsker å bruke i programmet, vil dette bli skrevet inne i start- og avslutningsobjekter.

Tid (og start);
Tid (& finish);

Fordi starttidsobjektet starter tiden og fortsetter mens funksjonen/ operasjonen pågår når prosessen er ferdig, bemerker det ferdige objektet tidspunktet for slutt. I dette programmet forklart for eksempel nedenfor, har vi brukt en enkel nestet 'for' Loop for å beregne produktet av to verdier. Disse to verdiene starter fra 0 og slutter med en stor verdi. Den ytre 'for' Loop ender før 1000, og den indre sløyfen ender på 30000; Inne. Variablene 'I' og 'J' er betegnet til hvert nummer etter hver iterasjon, et nytt nummer i hver syklus. Resultatet lagres i variabelen 'produkt'

Produkt = i * j;

Den nødvendige tiden vi ønsker å få, beregnes gjennom difftidfunksjonen. Ettersom denne funksjonen inneholder to parametere i den, så vil funksjonen være:

DiffTime (Finish, start);

Denne funksjonen vil returnere tiden som er oppnådd ved å trekke fra starttiden fra slutttiden.

Lagre nå kildekoden med C -utvidelsen. Vi bruker en G ++ -kompilator for å kompilere en C ++ -fil og utføre den. Filen vi brukte her er 'DIF. C 'som inneholder kildekoden, den er samlet, og utdataene lagres i utdatafilen gjennom' -o '.

$ G ++ -o DIF.c
$ ./DIF

Du kan se at den nødvendige tiden er 0 sekunder. Det betyr at den nestede sløyfen vil beregne produktet på 0 sekunder. I koden ovenfor er verdien i ytre for sløyfe mindre enn den indre, så tidsforskjellen var null fordi den kan beregnes enkelt. Hva om verdien i det indre for sløyfe blir mindre enn det ytre for loop? Vi vil forklare heretter. Resten av kravene er de samme. Produktet blir beregnet inne i løkken. Vi vil bruke start- og sluttobjekter for å merke start- og sluttverdiene.

Lagre nå koden og kjør den. Ved utførelse vil du se at det vil ta litt tid. Sammenlignet med den forrige situasjonen, tar det bare null sekunder, og resultatet ble vist brått, men i dette tilfellet ser det ut til at det må være mer enn null sekunder.

Etter litt ventetid, vil du se den resulterende uttalelsen. I følge dette tok løkkene 62 sekunder å bli utført slik at produktet av to verdier under hver iterasjon kan beregnes.

Eksempel 2 # DiffTime () for nestede løkker

I motsetning til forrige uttalelse, har vi brukt et annet bibliotek her.

Det er ikke nødvendig å spesifisere 'iostream' og 'ctime' eller noe annet bibliotek som bruker dette biblioteket. Begge variablene initialiseres. I dette eksemplet har vi brukt nestet til løkker tre ganger. Hver nestede sløyfe slutter, og den neste nestede sløyfen starter. Hver sløyfe inne i den nestede sløyfen har en annen verdi for variabel I; For J -variabelen er verdiene de samme for den indre sløyfen.

Videre har vi ikke beregnet noe eller noen operasjon. Bare utførelsen av løkkene hadde funnet sted. Start- og sluttvariabler vil observere start- og slutttiden.

Etter hver utførelse, til slutt, kalles DiffTime () -funksjonen for å utføre svaret.

DiffTime (slutt, start)

Vi vil utføre kildekoden for å se sekundene som konsumeres i utførelsen av tre nestede løkker.

Det vil ta 10 sekunder i det hele tatt for alle tre løkker kollektivt.

Eksempel 3 # DiffTime () for en tid mellom datoer

For å beregne tidsforskjellen fra starten av programmet til det slutter er allerede utdypet. Vår bekymring for diskusjonen er å beregne forskjellen i sekunder fra en bestemt dag til nå. Her er ikke datoene nevnt ordentlig. Men programmet vil hente gjeldende dato fra systemet. Her vil vi beregne forskjellen i tid på sekunder fra nyttårsdag til nå.

Tidsbibliotekets objekt brukes til å hente gjeldende tid slik at forskjellen kan beregnes. Her trenger vi ikke start- og sluttvariablene hver for seg.

En struktur av tid 'nyttår' er initialisert her. Vi vil bruke "nå" -variabelen for å få dagens tid.

Tid nå);

Objektet 'TM' for nyttårsstrukturen vil erklære timene, min, sekunder og måned som null. Funksjonen Diffent vil bli kalt som vil ta nå (nåværende tid), og en annen innebygd funksjon inne i parameteren for å få det nye året på sekunder.

Seconds = DiffTime (nå, mktime (& newyear));

Utfør nå programmet; Du vil se at 6036632 sekunder blir passert til nå i henhold til gjeldende dato for systemet ditt.

Konklusjon

'DiffTime () C ++' er en funksjon som omhandler å hente tiden i sekunder oppnådd ved å trekke fra tiden for å starte fra slutttidspunktet; Disse to variablene av en tidsobjekttype brukes til å gi tid på få sekunder. Nå som vi pakker opp artikkelen, vil vi snakke om noen eksempler som vi har inkludert i artikkelen. Denne funksjonen hjelper også med å gi tiden fra en bestemt dato til nå, som diskutert ovenfor i eksemplet.