Hvordan returnere flere verdier i C++

Hvordan Returnere Flere Verdier I C



C++-språket gir oss mange funksjoner og gjør programmeringen mye enklere. Men noen ganger må vi returnere flere verdier mens vi jobber med C++-programmering. Dessverre forenkler ikke C++ oss med denne funksjonen. For å returnere flere verdier i C++, må vi bruke de forskjellige teknikkene. Vi kan returnere flere verdier i C++ ved å bruke tupler/par, pekere og matriser. Vi vil studere alle disse teknikkene grundig i denne veiledningen sammen med koder og forklaringer.

Eksempel 1: Bruk av tupler/par

La oss gjøre en praktisk demonstrasjon for å returnere flere verdier i C++. Her bruker vi tuples/pairs-teknikkene for å hjelpe til med å returnere flere verdier i koden vår. C++ gir forskjellige header-filer som vi må inkludere i koden vår. Vi inkluderer 'bits/stdc++.h' her da den inneholder alle bibliotekene i C++-programmeringen. Deretter legges navneområdet til her som er 'std'. Etter dette bruker vi nøkkelordet 'tuple' der vi plasserer tre datatyper, to flytende datatyper og den resterende 'char' datatypen. Under den bruker vi nøkkelordet 'retur' for å pakke verdiene for å returnere en tuppel.

Nå bruker vi 'par'-metoden for å returnere flere verdier. I denne 'par'-metoden legger vi to variables datatyper, og begge er 'flytende' her. Variablene heter 'float_1' og 'float_2'. Deretter pakker vi to verdier for å gå tilbake til 'parene'. Etter dette påkaller vi 'main()' her og erklærer deretter to 'float'-variabler med navnet 'f_1, f_2'. Variabelen 'char' er også deklarert her som 'myChar'. Deretter pakker vi ut verdiene som returneres av 'My_Tuple()'-funksjonen.







Under dette lagrer vi de returnerte verdiene i par. Vi lagrer '4.99, 8.98' i 'My_Tuple'-funksjonen og '6.86, 3.22' i 'My_Pair'-funksjonen. Deretter bruker vi 'cout' som skriver ut all informasjonen som er skrevet i den.



Kode 1:



#include
ved hjelp av navneområde std ;
tuppel < flyte , flyte , røye > My_Tuple ( flyte f_1, flyte f_2 ) {
komme tilbake make_tuple ( f_2, f_1, '$' ) ;
}
par < flyte , flyte > Mitt_par ( flyte f_a, flyte f_b ) {
komme tilbake make_pair ( f_b, f_a ) ;
}
int hoved- ( ) {
flyte f_1,f_2 ;
røye myChar ;
slips ( f_1, f_2, myChar ) = My_Tuple ( 4,99 , 8,98 ) ;
par ny_s = Mitt_par ( 6,86 , 3.22 ) ;
cout << 'Verdier vi får av tupler:' ;
cout << f_1 << ' ' << f_2 << ' ' << myChar << endl ;
cout << 'Verdier vi får av par: ' ;
cout << ny_s. først << ' ' << ny_s. sekund ;
komme tilbake 0 ;
}

Produksjon :





Verdiene som vi får her ved å bruke 'tupler' og 'par'-metoden vises i det følgende. Merk at den returnerer flere verdier her.



Eksempel 2: Bruk av pekere

Vi sender parametrene sammen med adressene deres i «sammenlign»-funksjonen her. Vi legger til «verdi_1» og «verdi_2» av typen «int» og «int* g_Address, int* s_Address». Etter dette bruker vi 'hvis'-betingelsen der vi legger til en betingelse om at 'verdi_1' er større enn 'verdi_2'. Hvis dette er oppfylt, utføres følgende setning. Hvis den ikke er det, ignorerer den setningen som er lagt til under dette og beveger seg mot 'annet'-delen. Nå, etter å ha påkalt 'main()', erklærer vi fire nye variabler med navnene 'g_value', 's_value', 'newValue1' og 'newValue2'.

Etter dette skriver vi ut en melding for å legge inn tallene og deretter plassere 'cin' som får to verdier fra brukeren. Verdiene som brukeren legger inn lagres i henholdsvis 'newValue1' og 'newValue2' variablene. Etter dette kaller vi «compare()»-funksjonen som vi tidligere opprettet og sender fire parametere inn i den. Deretter viser vi resultatet etter å ha utført «sammenlign»-funksjonen, og det viser det større antallet og det mindre antallet fra de tallene som brukeren skriver inn.

Kode 2:

#include
ved hjelp av navneområde std ;
tomrom sammenligne ( int verdi_1, int verdi_2, int * g_adresse, int * s_Adresse )
{
hvis ( verdi_1 > verdi_2 ) {
* g_Adresse = verdi_1 ;
* s_Adresse = verdi_2 ;
}
ellers {
* g_Adresse = verdi_2 ;
* s_Adresse = verdi_1 ;
}
}
int hoved- ( )
{
int g_verdi, s_verdi, nyverdi_1, nyverdi_2 ;
cout << 'Vennligst skriv inn to tall: ' <> nyVerdi_1 >> nyVerdi_2 ;
sammenligne ( nyverdi_1, nyverdi_2, & g_verdi, & s_verdi ) ;
cout << ' \n Det største tallet er ' << g_verdi << ' og det minste tallet er '
<< s_verdi ;
komme tilbake 0 ;
}

Produksjon :
Brukeren skriver inn '86' og '23' her. Etter å ha trykket 'Enter', viser den resultatet. På denne måten får vi flere verdier.

Eksempel 3: Bruk av matrisen

Vi lager funksjonen 'ComputeComparison()' her der vi setter inn to variabler, 'num_1' og 'num_2', som 'int'-typen og også en matrise kalt 'my_arr[]'. Etter dette har vi 'hvis'-betingelsen som sjekker om 'num_1' er større enn 'num_2' eller ikke. Hvis det er sant, tilordnes «num_1» til «my_arr[0]» og «num_2» tilordnes «my_arr[1]». Men hvis betingelsen ikke er sann, utføres setningene etter 'else' der vi tilordner 'num_2' til 'min_arr[0]' og 'num_1' til 'min_arr[1]'.

Etter dette kaller vi 'main()' her og deklarerer deretter ytterligere to int-variabler: 'newNum_1' og 'newNum_2'. Etter dette erklæres en matrise med størrelse '2'. Etter dette får vi to tall fra brukeren ved hjelp av «cin» og kaller deretter «ComputeComparison()»-funksjonen og viser følgende resultat. Så det returnerer flere verdier her.

Kode 3:

#include
ved hjelp av navneområde std ;
tomrom ComputeComparison ( int num_1, int num_2, int min_arr [ ] )
{

hvis ( num_1 > num_2 ) {
min_arr [ 0 ] = num_1 ;
min_arr [ 1 ] = num_2 ;
}
ellers {
min_arr [ 0 ] = num_2 ;
min_arr [ 1 ] = num_1 ;
}
}

int hoved- ( )
{
int nyttNum_1, nyttNum_2 ;
int min_arr [ 2 ] ;

cout << 'Vennligst skriv inn to tall for sammenligning' <> nyttNum_1 >> nyttNum_2 ;
ComputeComparison ( newNum_1, newNum_2, my_arr ) ;
cout << ' \n Det største tallet er ' << min_arr [ 0 ] << ' og '
'mindre tall er' << min_arr [ 1 ] ;

komme tilbake 0 ;
}

Produksjon :
Vi skriver både '54' og '98' her og trykker deretter 'Enter' for å vise resultatet. Den viser de større så vel som de mindre tallene fra tallene vi skrev inn.

Eksempel 4: Bruk av Tuples

To header-filer er inkludert her: 'tuple' og 'iostream'. Deretter settes 'std'-navneområdet her. Deretter bruker vi nøkkelordet 'tuple' og setter inn to datatyper som er 'int'. Etter dette lager vi en funksjon med 'findingValues()'navnet og sender 'intValue_1' og 'intValue2' som parametere.

Deretter plasseres 'hvis' der vi skriver inn betingelsen 'intValue_1 < intValue_2'. Under det bruker vi nøkkelordet 'return' og plasserer funksjonen 'make_tuple()' der begge variablene legges til som parameteren 'intValue_1, intValue2_'. Deretter har vi 'else'-delen der vi plasserer 'retur' igjen sammen med 'make_tuple()'-funksjonen. Men her plasserer vi 'intValue_2' først og deretter 'intValue1'. Nå kaller vi 'main()' og initialiserer 'new_value1' med '5' og 'new_value2' med '28'.

I det følgende erklærer vi ytterligere to variabler av typen 'int' med navnene 'større' og 'mindre'. Deretter plasserer vi «tie()»-funksjonen og sender «mindre, større»-variablene som parameter og kaller også «findingValues()»-funksjonen her. Etter dette skriver vi ut begge verdiene: de større og de mindre tallene.

Kode 4:

#include
#inkluder
ved hjelp av navneområde std ;
tuple  findingValues ( int intValue_1, int intValue_2 )
{
hvis ( intValue_1 < intValue_2 ) {
komme tilbake make_tuple ( intValue_1 , intValue_2 ) ;
}
ellers {
komme tilbake make_tuple ( intValue_2 , intValue_1 ) ;
}
}
int hoved- ( )
{
int ny_verdi1 = 5 , ny_verdi2 = 28 ;
int større, mindre ;
slips ( mindre, større ) = finne verdier ( ny_verdi1, ny_verdi2 ) ;
printf ( 'Det største tallet er %d og '
'mindre tall er %d' ,
større, mindre ) ;
komme tilbake 0 ;
}

Produksjon :

Tallene som vi legger til koden vår viser samtidig de større og mindre verdiene. På denne måten kan vi enkelt returnere flere verdier i koden vår.

Konklusjon

Denne veiledningen handler om 'returnerende flere verdier' i C++-koder. Vi utforsket denne forestillingen grundig i denne veiledningen og diskuterte tre teknikker som hjelper til med å returnere flere verdier i C++-programmeringen. Vi forklarte at flere verdier returneres ved å bruke tupler, par, pekere og matriseteknikker. Alle disse teknikkene er grundig beskrevet her.