Ako vrátiť viacero hodnôt v C++

Ako Vratit Viacero Hodnot V C



Jazyk C++ nám poskytuje mnoho funkcií a výrazne uľahčuje naše programovanie. Niekedy však pri práci s programovaním v C++ potrebujeme vrátiť viacero hodnôt. Bohužiaľ, C++ nám túto funkciu neuľahčuje. Na vrátenie viacerých hodnôt v C++ musíme použiť rôzne techniky. V C++ môžeme vrátiť viacero hodnôt pomocou n-tic/párov, ukazovateľov a polí. Všetky tieto techniky dôkladne preštudujeme v tejto príručke spolu s kódmi a vysvetleniami.

Príklad 1: Využitie n-tic/párov

Urobme praktickú ukážku na vrátenie viacerých hodnôt v C++. Tu využívame techniky n-tic/párov, aby sme pomohli vrátiť viacero hodnôt v našom kóde. C++ poskytuje rôzne hlavičkové súbory, ktoré musíme zahrnúť do nášho kódu. Sem zaraďujeme „bits/stdc++.h“, pretože obsahuje všetky knižnice programovania v C++. Potom sa sem pridá menný priestor, ktorý je „std“. Potom použijeme kľúčové slovo „tuple“, do ktorého umiestnime tri typy údajov, dva typy údajov typu float a zvyšný typ údajov „char“. Pod ním používame kľúčové slovo „návrat“ na zabalenie hodnôt, aby sa vrátila n-tica.

Teraz používame metódu „pár“ na vrátenie viacerých hodnôt. V tejto metóde „páru“ vložíme dva typy údajov premenných a oba sú tu „plávajúce“. Premenné sú pomenované „float_1“ a „float_2“. Potom zbalíme dve hodnoty, aby sme sa vrátili k „párom“. Potom tu vyvoláme „main()“ a potom deklarujeme dve „float“ premenné s názvom „f_1, f_2“. Premenná „char“ je tu tiež deklarovaná ako „myChar“. Potom rozbalíme hodnoty, ktoré vráti funkcia „My_Tuple()“.







Pod tým ukladáme vrátené hodnoty v pároch. Ukladáme „4,99, 8,98“ do funkcie „My_Tuple“ a „6,86, 3,22“ do funkcie „My_Pair“. Potom použijeme „cout“, ktorý vytlačí všetky informácie, ktoré sú v ňom zapísané.



Kód 1:



#include
použitím menný priestor std ;
násobný < plavák , plavák , char > My_Tuple ( plavák f_1, plavák f_2 ) {
vrátiť make_tuple ( f_2, f_1, '$' ) ;
}
pár < plavák , plavák > My_Pair ( plavák f_a, plavák f_b ) {
vrátiť make_pair ( f_b, f_a ) ;
}
int Hlavná ( ) {
plavák f_1, f_2 ;
char myChar ;
kravatu ( f_1, f_2, myChar ) = My_Tuple ( 4,99 , 8,98 ) ;
pár nový_p = My_Pair ( 6,86 , 3.22 ) ;
cout << 'Hodnoty, ktoré získame pomocou n-tic:' ;
cout << f_1 << '' << f_2 << '' << myChar << endl ;
cout << 'Hodnoty, ktoré získame párom: ' ;
cout << nový_p. najprv << '' << nový_p. druhý ;
vrátiť 0 ;
}

Výkon :





Hodnoty, ktoré tu získame použitím metódy „n-tice“ a „páru“, sú zobrazené nižšie. Všimnite si, že tu vracia viacero hodnôt.



Príklad 2: Použitie ukazovateľov

Tu odovzdávame parametre spolu s ich adresami vo funkcii „porovnať“. Pridáme „hodnotu_1“ a „hodnotu_2“ typu „int“ a „int* g_Address, int* s_Address“. Potom použijeme podmienku „if“, v ktorej pridáme podmienku, že „hodnota_1“ je väčšia ako „hodnota_2“. Ak je toto splnené, vykoná sa nasledujúci príkaz. Ak nie je, ignoruje vyhlásenie, ktoré je pridané pod týmto, a presunie sa k časti „iné“. Teraz, po vyvolaní funkcie „main()“, deklarujeme štyri nové premenné s názvami „g_value“, „s_value“, „newValue1“ a „newValue2“.

Potom vytlačíme správu na zadanie čísel a potom umiestnime „cin“, ktorý dostane od používateľa dve hodnoty. Hodnoty, ktoré používateľ zadá, sa uložia do premenných „newValue1“ a „newValue2“. Potom zavoláme funkciu „compare()“, ktorú sme predtým vytvorili, a prenesieme do nej štyri parametre. Potom po vykonaní funkcie „porovnanie“ zobrazíme výsledok a zobrazí väčšie a menšie číslo z tých čísel, ktoré používateľ zadá.

Kód 2:

#include
použitím menný priestor std ;
neplatné porovnať ( int hodnota_1, int hodnota_2, int * g_Address, int * s_Adresa )
{
ak ( hodnota_1 > hodnota_2 ) {
* g_Address = hodnota_1 ;
* s_Adresa = hodnota_2 ;
}
inak {
* g_Address = hodnota_2 ;
* s_Adresa = hodnota_1 ;
}
}
int Hlavná ( )
{
int g_value, s_value, newValue_1, newValue_2 ;
cout << 'Prosím, zadajte dve čísla: ' <> newValue_1 >> newValue_2 ;
porovnať ( newValue_1, newValue_2, & g_value, & s_value ) ;
cout << ' \n Väčšie číslo je ' << g_value << 'a menšie číslo je'
<< s_value ;
vrátiť 0 ;
}

Výkon :
Používateľ sem zadá „86“ a „23“. Po stlačení „Enter“ sa zobrazí výsledok. Týmto spôsobom dostaneme viacero hodnôt.

Príklad 3: Použitie poľa

Tu vytvoríme funkciu „ComputeComparison()“, do ktorej vložíme dve premenné „num_1“ a „num_2“ ako typ „int“ a tiež pole s názvom „my_arr[]. Potom máme podmienku „if“, ktorá kontroluje, či „num_1“ je väčšie ako „num_2“ alebo nie. Ak je to pravda, „num_1“ je priradené k „my_arr[0]“ a „num_2“ je priradené k „my_arr[1]“. Ak však podmienka nie je pravdivá, vykonajú sa príkazy po „else“, v ktorých priradíme „num_2“ k „my_arr[0]“ a „num_1“ k „my_arr[1]“.

Potom tu zavoláme „main()“ a potom deklarujeme ďalšie dve premenné typu int: „newNum_1“ a „newNum_2“. Potom je deklarované pole veľkosti „2“. Potom dostaneme od používateľa dve čísla pomocou „cin“ a potom zavoláme funkciu „ComputeComparison()“ a zobrazíme nasledujúci výsledok. Takže tu vráti viacero hodnôt.

Kód 3:

#include
použitím menný priestor std ;
neplatné ComputeComparison ( int číslo_1, int číslo_2, int my_arr [ ] )
{

ak ( číslo_1 > číslo_2 ) {
my_arr [ 0 ] = číslo_1 ;
my_arr [ 1 ] = číslo_2 ;
}
inak {
my_arr [ 0 ] = číslo_2 ;
my_arr [ 1 ] = číslo_1 ;
}
}

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

cout << 'Zadajte dve čísla na porovnanie' <> newNum_1 >> newNum_2 ;
ComputeComparison ( newNum_1, newNum_2, my_arr ) ;
cout << ' \n Väčšie číslo je ' << my_arr [ 0 ] << 'a'
'menšie číslo je' << my_arr [ 1 ] ;

vrátiť 0 ;
}

Výkon :
Tu zadáme „54“ aj „98“ a potom stlačením „Enter“ zobrazíte výsledok. Zobrazuje väčšie aj menšie čísla z čísel, ktoré sme zadali.

Príklad 4: Využitie n-tic

Sú tu zahrnuté dva hlavičkové súbory: „tuple“ a „iostream“. Ďalej sa sem umiestni priestor názvov „std“. Ďalej použijeme kľúčové slovo „tuple“ a vložíme dva typy údajov, ktoré sú „int“. Potom vytvoríme funkciu s názvom „findingValues()“ a ako jej parametre odovzdáme „intValue_1“ a „intValue2“.

Potom sa „if“ umiestni tam, kde napíšeme podmienku „intValue_1 < intValue_2“. Pod ním použijeme kľúčové slovo „return“ a umiestnime funkciu „make_tuple()“, v ktorej sú obe premenné pridané ako parameter „intValue_1, intValue2_“. Potom máme časť „else“, do ktorej znova umiestnime „return“ spolu s funkciou „make_tuple()“. Tu však najprv umiestnime „intValue_2“ a potom „intValue1“. Teraz zavoláme „main()“ a inicializujeme „new_value1“ s „5“ a „new_value2“ s „28“.

V nasledujúcom texte deklarujeme ďalšie dve premenné typu „int“ s názvami „väčší“ a „menší“. Potom umiestnime funkciu „tie()“ a ako parameter odovzdáme premenné „menšie, väčšie“ a tiež tu zavoláme funkciu „findingValues()“. Potom vytlačíme obe hodnoty: väčšie a menšie číslo.

Kód 4:

#include
#include
použitím menný priestor std ;
tuple  findingValues ( int intValue_1, int intValue_2 )
{
ak ( intValue_1 < intValue_2 ) {
vrátiť make_tuple ( intValue_1 , intValue_2 ) ;
}
inak {
vrátiť make_tuple ( intValue_2 , intValue_1 ) ;
}
}
int Hlavná ( )
{
int nová_hodnota1 = 5 , nová_hodnota2 = 28 ;
int väčší, menší ;
kravatu ( menší, väčší ) = findValues ( nová_hodnota1, nová_hodnota2 ) ;
printf ( 'Väčšie číslo je %d a '
'menšie číslo je %d' ,
väčší, menší ) ;
vrátiť 0 ;
}

Výkon :

Čísla, ktoré pridávame do nášho kódu, súčasne zobrazujú väčšie a menšie hodnoty. Týmto spôsobom môžeme jednoducho vrátiť viacero hodnôt v našom kóde.

Záver

Táto príručka je o „vrátení viacerých hodnôt“ v kódoch C++. Tento pojem sme dôkladne preskúmali v tejto príručke a rozobrali sme tri techniky, ktoré pomáhajú pri vracaní viacerých hodnôt v programovaní v C++. Vysvetlili sme, že viaceré hodnoty sa vracajú pomocou techník n-tic, párov, ukazovateľov a polí. Všetky tieto techniky sú tu podrobne popísané.