Kuidas tagastada C++-s mitu väärtust

Kuidas Tagastada C S Mitu Vaartust



C++ keel pakub meile palju funktsioone ja muudab programmeerimise palju lihtsamaks. Kuid mõnikord peame C++ programmeerimisega töötades tagastama mitu väärtust. Kahjuks ei hõlbusta C++ meid selle funktsiooniga. Mitme väärtuse tagastamiseks keeles C++ peame kasutama erinevaid tehnikaid. Saame C++-s tagastada mitu väärtust, kasutades kortereid/paare, viiteid ja massiive. Uurime kõiki neid tehnikaid selles juhendis koos koodide ja selgitustega põhjalikult.

Näide 1: Korterite/paaride kasutamine

Teeme praktilise demonstratsiooni mitme väärtuse tagastamiseks C++ keeles. Siin kasutame korteeži/paaride tehnikaid, et aidata tagastada meie koodis mitu väärtust. C++ pakub erinevaid päisefaile, mille peame oma koodi lisama. Lisame siia 'bits/stdc++.h', kuna see sisaldab kõiki C++ programmeerimise teeke. Seejärel lisatakse siia nimeruum, mis on 'std'. Pärast seda kasutame märksõna 'korter', millesse paigutame kolm andmetüüpi, kaks ujuva andmetüüpi ja ülejäänud üks 'char' andmetüüp. Selle all kasutame korteeži tagastamiseks väärtuste pakkimiseks märksõna 'return'.

Nüüd kasutame mitme väärtuse tagastamiseks paarimeetodit. Selle 'paari' meetodi puhul paneme kaks muutuja andmetüüpi ja mõlemad on siin 'ujuvad'. Muutujate nimed on 'float_1' ja 'float_2'. Seejärel pakime 'paaride' juurde naasmiseks kaks väärtust. Pärast seda kutsume siin esile 'main()' ja seejärel deklareerime kaks 'float' muutujat nimega 'f_1, f_2'. Muutuja 'char' on siin deklareeritud ka kui 'myChar'. Seejärel pakime lahti väärtused, mille funktsioon 'My_Tuple()' tagastab.







Selle alla salvestame tagastatud väärtused paarikaupa. Salvestame '4.99, 8.98' funktsiooni 'My_Tuple' ja '6.86, 3.22' funktsiooni 'My_Pair'. Seejärel kasutame 'cout', mis prindib kogu selle sisse kirjutatud teabe.



Kood 1:



#include
kasutades nimeruum std ;
mitmekordne < ujuk , ujuk , char > Minu_korter ( ujuk f_1, ujuk f_2 ) {
tagasi make_tuple ( f_2, f_1, '$' ) ;
}
paar < ujuk , ujuk > Minu_paar ( ujuk f_a, ujuk f_b ) {
tagasi make_pair ( f_b, f_a ) ;
}
int peamine ( ) {
ujuk f_1, f_2 ;
char myChar ;
lips ( f_1, f_2, myChar ) = Minu_korter ( 4.99 , 8.98 ) ;
paar uus_p = Minu_paar ( 6.86 , 3.22 ) ;
cout << 'Väärtused, mille saame korrutistega:' ;
cout << f_1 << ' ' << f_2 << ' ' << myChar << endl ;
cout << 'Paaris saadud väärtused:' ;
cout << uus_lk. esiteks << ' ' << uus_lk. teiseks ;
tagasi 0 ;
}

Väljund :





Väärtused, mille me siin 'korteeži' ja 'paari' meetodi abil saame, kuvatakse järgmises. Pange tähele, et see tagastab siin mitu väärtust.



Näide 2: Osutite kasutamine

Edastame parameetrid koos nende aadressidega siin võrdlusfunktsioonis. Lisame 'int' tüüpi 'väärtus_1' ja 'väärtus_2' ning 'int* g_Address, int* s_Address'. Pärast seda kasutame tingimust 'kui', milles lisame tingimuse, et 'väärtus_1' on suurem kui 'väärtus_2'. Kui see on täidetud, täidetakse järgmine lause. Kui ei, siis ignoreerib see alla lisatud väidet ja liigub osa „muu“ poole. Nüüd, pärast 'main()' kutsumist, deklareerime neli uut muutujat nimedega 'g_value', 's_value', 'newValue1' ja 'newValue2'.

Pärast seda prindime sõnumi numbrite sisestamiseks ja seejärel sisestame 'cin', mis saab kasutajalt kaks väärtust. Kasutaja sisestatud väärtused salvestatakse vastavalt muutujatesse 'newValue1' ja 'newValue2'. Pärast seda kutsume varem loodud funktsiooni 'võrdle ()' ja edastame sellele neli parameetrit. Seejärel kuvame tulemuse pärast funktsiooni 'võrdle' täitmist ja see näitab kasutaja sisestatud arvudest suuremat ja väiksemat arvu.

Kood 2:

#include
kasutades nimeruum std ;
tühine võrdlema ( int väärtus_1, int väärtus_2, int * g_Address, int * s_Aadress )
{
kui ( väärtus_1 > väärtus_2 ) {
* g_Aadress = väärtus_1 ;
* s_Aadress = väärtus_2 ;
}
muidu {
* g_Aadress = väärtus_2 ;
* s_Aadress = väärtus_1 ;
}
}
int peamine ( )
{
int g_väärtus, s_väärtus, uusväärtus_1, uusväärtus_2 ;
cout << 'Palun sisestage kaks numbrit:' <> uusVäärtus_1 >> uusVäärtus_2 ;
võrdlema ( uusVäärtus_1, uusVäärtus_2, & g_value, & s_väärtus ) ;
cout << ' \n Suurem arv on ' << g_väärtus << 'ja väiksem arv on'
<< s_väärtus ;
tagasi 0 ;
}

Väljund :
Kasutaja sisestab siia “86” ja “23”. Pärast sisestusklahvi vajutamist kuvatakse tulemus. Sel viisil saame mitu väärtust.

Näide 3: Massiivi kasutamine

Loome siin funktsiooni 'ComputeComparison()', millesse sisestame 'int' tüübina kaks muutujat 'num_1' ja 'num_2' ning samuti massiivi nimega 'my_arr[]'. Pärast seda on meil tingimus 'kui', mis kontrollib, kas 'num_1' on suurem kui 'num_2' või mitte. Kui see on tõene, määratakse 'num_1' väärtusele 'minu_saatja[0]' ja 'num_2' on määratud 'minu_saale[1]'. Kuid kui tingimus ei ole tõene, täidetakse laused pärast sõna 'muu', milles me omistame 'num_2' väärtusele 'minu_saatja[0]' ja 'num_1' väärtusele 'minu_arr[1]'.

Pärast seda kutsume siin välja 'main()' ja seejärel deklareerime veel kaks int muutujat: 'newNum_1' ja 'newNum_2'. Pärast seda deklareeritakse massiiv suurusega “2”. Pärast seda saame kasutajalt 'cin' abil kaks numbrit ja seejärel kutsume funktsiooni 'ComputeComparison()' ja kuvame järgmise tulemuse. Seega tagastab see siin mitu väärtust.

Kood 3:

#include
kasutades nimeruum std ;
tühine Arvutage võrdlus ( int number_1, int number_2, int minu_arr [ ] )
{

kui ( number_1 > number_2 ) {
minu_arr [ 0 ] = number_1 ;
minu_arr [ 1 ] = number_2 ;
}
muidu {
minu_arr [ 0 ] = number_2 ;
minu_arr [ 1 ] = number_1 ;
}
}

int peamine ( )
{
int uusNum_1, uusNum_2 ;
int minu_arr [ 2 ] ;

cout << 'Palun sisestage võrdluseks kaks numbrit' <> uusNum_1 >> uusNum_2 ;
Arvutage võrdlus ( uusNum_1, uusNum_2, minu_arr ) ;
cout << ' \n Suurem arv on ' << minu_arr [ 0 ] << ' ja '
'väiksem number on' << minu_arr [ 1 ] ;

tagasi 0 ;
}

Väljund :
Tippime siia nii '54' kui ka '98' ja seejärel vajutage tulemuse kuvamiseks 'Enter'. See näitab nii suuremaid kui ka väiksemaid numbreid meie sisestatud numbritest.

Näide 4: Korpuste kasutamine

Siia on lisatud kaks päisefaili: 'tuple' ja 'iostream'. Järgmisena pannakse siia nimeruum 'std'. Järgmisena kasutame märksõna 'korter' ja sisestame kaks andmetüüpi, mis on 'int'. Pärast seda loome funktsiooni 'findingValues()' nimega ja edastame selle parameetriteks 'intValue_1' ja 'intValue2'.

Seejärel asetatakse 'if', kuhu tippime tingimuse 'intValue_1 < intValue_2'. Selle all kasutame märksõna 'return' ja asetame funktsiooni 'make_tuple()', milles mõlemad muutujad lisatakse parameetrina 'intValue_1, intValue2_'. Seejärel on meil osa 'muu', kuhu asetame uuesti 'return' koos funktsiooniga 'make_tuple()'. Kuid siin asetame esimeseks 'intValue_2' ja seejärel 'intValue1'. Nüüd kutsume 'main()' ja lähtestame 'new_value1' väärtusega '5' ja 'new_value2' väärtusega '28'.

Järgnevalt deklareerime veel kaks “int” tüüpi muutujat nimedega “suurem” ja “väiksem”. Seejärel asetame funktsiooni 'tie()' ja edastame parameetrina 'väiksem, suurem' muutujad ning kutsume siin ka funktsiooni 'findingValues()'. Pärast seda trükime mõlemad väärtused: suurema ja väiksema arvu.

Kood 4:

#include
#include
kasutades nimeruum std ;
tuple  findingValues ( int intValue_1, int intValue_2 )
{
kui ( intValue_1 < intValue_2 ) {
tagasi make_tuple ( intValue_1 , intValue_2 ) ;
}
muidu {
tagasi make_tuple ( intValue_2 , intValue_1 ) ;
}
}
int peamine ( )
{
int uus_väärtus1 = 5 , uus_väärtus2 = 28 ;
int suurem, väiksem ;
lips ( väiksem, suurem ) = Väärtuste leidmine ( uus_väärtus1, uus_väärtus2 ) ;
printf ( 'Suurem arv on %d ja '
'väiksem arv on %d' ,
suurem, väiksem ) ;
tagasi 0 ;
}

Väljund :

Numbrid, mille oma koodi lisame, kuvavad korraga suuremaid ja väiksemaid väärtusi. Sel viisil saame koodis hõlpsasti mitu väärtust tagastada.

Järeldus

See juhend käsitleb C++ koodide 'mitme väärtuse tagastamist'. Uurisime selles juhendis seda mõistet põhjalikult ja arutasime kolme tehnikat, mis aitavad C++ programmeerimisel mitut väärtust tagastada. Selgitasime, et mitu väärtust tagastatakse korteeži, paaride, osutite ja massiivi tehnikate abil. Kõiki neid tehnikaid on siin põhjalikult kirjeldatud.