Cum să returnezi mai multe valori în C++

Cum Sa Returnezi Mai Multe Valori In C



Limbajul C++ ne oferă multe caracteristici și ne face programarea mult mai ușoară. Dar uneori, trebuie să returnăm mai multe valori în timp ce lucrăm cu programarea C++. Din păcate, C++ nu ne facilitează această caracteristică. Pentru a returna mai multe valori în C++, trebuie să folosim diferite tehnici. Putem returna mai multe valori în C++ folosind tupluri/perechi, pointeri și matrice. Vom studia în detaliu toate aceste tehnici în acest ghid, împreună cu coduri și explicații.

Exemplul 1: Utilizarea tuplurilor/perechilor

Să facem o demonstrație practică pentru a returna mai multe valori în C++. Aici, utilizăm tehnicile tupluri/perechi pentru a ajuta la returnarea mai multor valori în codul nostru. C++ oferă diverse fișiere de antet pe care trebuie să le includem în codul nostru. Includem „bits/stdc++.h” aici, deoarece conține toate bibliotecile de programare C++. Apoi, aici este adăugat spațiul de nume care este „std”. După aceasta, folosim cuvântul cheie „tuple” în care plasăm trei tipuri de date, două tipuri de date float și cel mai rămas tip de date „char”. Sub acesta, folosim cuvântul cheie „return” pentru a împacheta valorile pentru a returna un tuplu.

Acum, folosim metoda „pereche” pentru a returna mai multe valori. În această metodă „pereche”, punem două tipuri de date ale variabilei și ambele sunt „float” aici. Variabilele sunt denumite „float_1” și „float_2”. Apoi, împachetăm două valori pentru a reveni la „perechi”. După aceasta, invocăm „main()” aici și apoi declarăm două variabile „float” cu numele „f_1, f_2”. Variabila „char” este de asemenea declarată aici ca „myChar”. Apoi, despachetăm valorile care sunt returnate de funcția „My_Tuple()”.







Sub aceasta, stocăm valorile returnate în perechi. Stocăm „4.99, 8.98” în funcția „My_Tuple” și „6.86, 3.22” în funcția „My_Pair”. Apoi, folosim „cout” care tipărește toate informațiile care sunt scrise în el.



Cod 1:



#include
folosind spatiu de nume std ;
tuplu < pluti , pluti , char > My_Tuple ( pluti f_1, pluti f_2 ) {
întoarcere make_tuple ( f_2, f_1, '$' ) ;
}
pereche < pluti , pluti > Perechea_mea ( pluti fa, pluti f_b ) {
întoarcere face_pereche ( f_b, f_a ) ;
}
int principal ( ) {
pluti f_1,f_2 ;
char myChar ;
cravată ( f_1, f_2, myChar ) = My_Tuple ( 4,99 , 8,98 ) ;
pereche new_p = Perechea_mea ( 6,86 , 3.22 ) ;
cout << „Valori pe care le obținem prin tupluri : ” ;
cout << f_1 << ' ' << f_2 << ' ' << myChar << endl ;
cout << „Valori pe care le obținem în pereche:” ;
cout << nou_p. primul << ' ' << nou_p. al doilea ;
întoarcere 0 ;
}

Ieșire :





Valorile pe care le obținem aici utilizând „tuplurile” și metoda „pereche” sunt afișate în cele ce urmează. Rețineți că returnează mai multe valori aici.



Exemplul 2: Utilizarea indicatorilor

Trecem aici parametrii împreună cu adresele lor în funcția „comparare”. Adăugăm „value_1” și „value_2” de tipul „int” și „int* g_Address, int* s_Address”. După aceasta, folosim condiția „dacă” în care adăugăm o condiție ca „valoarea_1” să fie mai mare decât „valoarea_2”. Dacă acest lucru este satisfăcut, se execută următoarea instrucțiune. Dacă nu este, ignoră declarația care este adăugată sub aceasta și se deplasează către partea „altfel”. Acum, după invocarea „main()”, declarăm patru variabile noi cu numele „g_value”, „s_value”, „newValue1” și „newValue2”.

După aceasta, imprimăm un mesaj pentru a introduce numerele și apoi plasăm „cin” care primește două valori de la utilizator. Valorile pe care utilizatorul le introduce sunt salvate în variabilele „newValue1” și, respectiv, „newValue2”. După aceasta, numim funcția „compare()” pe care am creat-o anterior și trecem patru parametri în ea. Apoi, afișăm rezultatul după efectuarea funcției „comparare” și arată numărul mai mare și numărul mai mic dintre acele numere pe care utilizatorul le introduce.

Cod 2:

#include
folosind spatiu de nume std ;
gol comparaţie ( int valoare_1, int valoare_2, int * g_Adresa, int * s_Adresa )
{
dacă ( valoare_1 > valoare_2 ) {
* g_Adresă = valoare_1 ;
* s_Adresa = valoare_2 ;
}
altfel {
* g_Adresă = valoare_2 ;
* s_Adresa = valoare_1 ;
}
}
int principal ( )
{
int g_value, s_value, newValue_1, newValue_2 ;
cout << 'Vă rugăm să introduceți două numere: ' <> newValue_1 >> newValue_2 ;
comparaţie ( newValue_1, newValue_2, & g_value, & s_value ) ;
cout << ' \n Numărul mai mare este ' << g_value << ' și numărul mai mic este '
<< s_value ;
întoarcere 0 ;
}

Ieșire :
Utilizatorul introduce aici „86” și „23”. După apăsarea „Enter”, acesta afișează rezultatul. În acest fel, obținem mai multe valori.

Exemplul 3: Utilizarea matricei

Creăm aici funcția „ComputeComparison()” în care inserăm două variabile, „num_1” și „num_2”, ca tip „int” și, de asemenea, o matrice numită „my_arr[]”. După aceasta, avem condiția „dacă” care verifică dacă „num_1” este mai mare decât „num_2” sau nu. Dacă este adevărat, „num_1” este atribuit „my_arr[0]” și „num_2” este atribuit „my_arr[1]”. Dar dacă condiția nu este adevărată, se execută instrucțiunile de după „else” în care atribuim „num_2” la „my_arr[0]” și „num_1” la „my_arr[1]”.

După aceasta, numim „main()” aici și apoi declarăm încă două variabile int: „newNum_1” și „newNum_2”. După aceasta, este declarată o matrice de dimensiunea „2”. După aceasta, obținem două numere de la utilizator cu ajutorul lui „cin” și apoi apelăm funcția „ComputeComparison()” și afișăm următorul rezultat. Deci, returnează mai multe valori aici.

Cod 3:

#include
folosind spatiu de nume std ;
gol ComputeComparison ( int num_1, int num_2, int my_arr [ ] )
{

dacă ( num_1 > num_2 ) {
my_arr [ 0 ] = num_1 ;
my_arr [ 1 ] = num_2 ;
}
altfel {
my_arr [ 0 ] = num_2 ;
my_arr [ 1 ] = num_1 ;
}
}

int principal ( )
{
int newNum_1, newNum_2 ;
int my_arr [ 2 ] ;

cout << „Vă rugăm să introduceți două numere pentru comparație” <> nouNumăr_1 >> nouNumăr_2 ;
ComputeComparison ( newNum_1, newNum_2, my_arr ) ;
cout << ' \n Numărul mai mare este ' << my_arr [ 0 ] << ' si '
„numărul mai mic este” << my_arr [ 1 ] ;

întoarcere 0 ;
}

Ieșire :
Tastam ambele „54” ​​și „98” aici și apoi apăsăm „Enter” pentru a afișa rezultatul. Afișează atât numerele mai mari, cât și cele mai mici din numerele pe care le-am introdus.

Exemplul 4: Utilizarea tuplurilor

Două fișiere de antet sunt incluse aici: „tuple” și „iostream”. Apoi, spațiul de nume „std” este pus aici. Apoi, folosim cuvântul cheie „tuple” și introducem două tipuri de date care sunt „int”. După aceasta, creăm o funcție cu numele „findingValues()” și trecem „intValue_1” și „intValue2” ca parametri.

Apoi, „dacă” este plasat acolo unde introducem condiția „intValue_1 < intValue_2”. Sub acesta, folosim cuvântul cheie „return” și plasăm funcția „make_tuple()” în care ambele variabile sunt adăugate ca parametru „intValue_1, intValue2_”. Apoi, avem partea „else” în care plasăm din nou „return” împreună cu funcția „make_tuple()”. Dar aici, plasăm mai întâi „intValue_2” și apoi „intValue1”. Acum, numim „main()” și inițializam „new_value1” cu „5” și „new_value2” cu „28”.

În cele ce urmează, declarăm încă două variabile de tip „int” cu numele „mai mare” și „mai mic”. Apoi, plasăm funcția „tie()” și trecem variabilele „mai mici, mai mari” ca parametru și, de asemenea, numim funcția „findingValues()” aici. După aceasta, imprimăm ambele valori: numerele mai mari și cele mai mici.

Cod 4:

#include
#include
folosind spatiu de nume std ;
tuplu  findingValues ( int intValue_1, int intValue_2 )
{
dacă ( intValue_1 < intValue_2 ) {
întoarcere make_tuple ( intValue_1 , intValue_2 ) ;
}
altfel {
întoarcere make_tuple ( intValue_2 , intValue_1 ) ;
}
}
int principal ( )
{
int valoare_nouă1 = 5 , noua_valoare2 = 28 ;
int mai mare, mai mic ;
cravată ( mai mic, mai mare ) = găsirea Valorilor ( valoare_nouă1, valoare_nouă2 ) ;
printf ( „Cel mai mare număr este %d și „
„numărul mai mic este %d” ,
mai mare, mai mic ) ;
întoarcere 0 ;
}

Ieșire :

Numerele pe care le adăugăm codului nostru afișează simultan valorile mai mari și mai mici. În acest fel, putem returna cu ușurință mai multe valori în codul nostru.

Concluzie

Acest ghid este despre „returnarea mai multor valori” în codurile C++. Am explorat în detaliu această noțiune în acest ghid și am discutat trei tehnici care ajută la returnarea mai multor valori în programarea C++. Am explicat că mai multe valori sunt returnate prin utilizarea tehnicilor de tuplu, perechi, pointeri și matrice. Toate aceste tehnici sunt descrise în detaliu aici.