Kako vrniti več vrednosti v C++

Kako Vrniti Vec Vrednosti V C



Jezik C++ nam ponuja številne funkcije in zelo olajša naše programiranje. Včasih pa moramo med delom s programiranjem C++ vrniti več vrednosti. Na žalost nam C++ ne omogoča te funkcije. Če želimo vrniti več vrednosti v C++, moramo uporabiti različne tehnike. V C++ lahko vrnemo več vrednosti z uporabo tork/parov, kazalcev in nizov. Vse te tehnike bomo temeljito preučili v tem priročniku skupaj s kodami in razlagami.

1. primer: uporaba tork/parov

Oglejmo si nekaj praktičnih predstavitev vračanja več vrednosti v C++. Tukaj uporabljamo tehnike tuple/parov, da pomagamo vrniti več vrednosti v naši kodi. C++ ponuja različne datoteke glave, ki jih moramo vključiti v našo kodo. Sem vključimo »bits/stdc++.h«, ker vsebuje vse knjižnice programiranja C++. Nato se tukaj doda imenski prostor, ki je »std«. Po tem uporabimo ključno besedo »tuple«, v katero postavimo tri podatkovne vrste, dva podatkovna tipa float in preostali en podatkovni tip »char«. Pod njo uporabimo ključno besedo »return« za pakiranje vrednosti za vrnitev tuple.

Zdaj uporabljamo metodo 'par' za vrnitev več vrednosti. Pri tej metodi »parov« postavimo dva podatkovna tipa spremenljivk in oba sta tukaj »lebdeča«. Spremenljivki sta imenovani “float_1” in “float_2”. Nato zapakiramo dve vrednosti, da se vrnemo k »parom«. Po tem tukaj pokličemo »main()« in nato deklariramo dve spremenljivki »float« z imenom »f_1, f_2«. Spremenljivka »char« je tukaj deklarirana tudi kot »myChar«. Nato razpakiramo vrednosti, ki jih vrne funkcija »My_Tuple()«.







Pod tem shranimo vrnjene vrednosti v parih. Shranjujemo »4,99, 8,98« v funkciji »My_Tuple« in »6,86, 3,22« v funkciji »My_Pair«. Nato uporabimo »cout«, ki natisne vse informacije, ki so zapisane v njem.



Koda 1:



#include
uporabo imenski prostor std ;
tuple < lebdi , lebdi , char > My_Tuple ( lebdi f_1, lebdi f_2 ) {
vrnitev make_tuple ( f_2, f_1, '$' ) ;
}
par < lebdi , lebdi > Moj_par ( lebdi f_a, lebdi f_b ) {
vrnitev make_pair ( f_b, f_a ) ;
}
int glavni ( ) {
lebdi f_1,f_2 ;
char myChar ;
kravata ( f_1, f_2, moj znak ) = My_Tuple ( 4,99 , 8,98 ) ;
par new_p = Moj_par ( 6.86 , 3.22 ) ;
cout << 'Vrednosti, ki jih dobimo s tuplemi:' ;
cout << f_1 << ' ' << f_2 << ' ' << myChar << konec ;
cout << 'Vrednosti, ki jih dobimo s parom: ' ;
cout << nova_str. prvi << ' ' << nova_str. drugo ;
vrnitev 0 ;
}

Izhod :





Vrednosti, ki jih tukaj dobimo z uporabo metode »torke« in metode »par«, so prikazane v nadaljevanju. Upoštevajte, da tukaj vrne več vrednosti.



Primer 2: Uporaba kazalcev

Tukaj posredujemo parametre skupaj z njihovimi naslovi v funkciji »primerjaj«. Dodamo »value_1« in »value_2« vrste »int« in »int* g_Address, int* s_Address«. Po tem uporabimo pogoj »if«, v katerem dodamo pogoj, da je »value_1« večja od »value_2«. Če je to izpolnjeno, se izvede naslednji stavek. Če ni, prezre izjavo, ki je dodana pod tem, in se premakne proti delu »drugo«. Zdaj, po priklicu »main()«, deklariramo štiri nove spremenljivke z imeni »g_value«, »s_value«, »newValue1« in »newValue2«.

Po tem natisnemo sporočilo za vnos številk in nato postavimo »cin«, ki od uporabnika dobi dve vrednosti. Vrednosti, ki jih vnese uporabnik, se shranijo v spremenljivki »newValue1« oziroma »newValue2«. Po tem pokličemo funkcijo 'compare()', ki smo jo predhodno ustvarili, in vanjo posredujemo štiri parametre. Nato prikažemo rezultat po izvedbi funkcije »primerjaj« in prikazuje večje in manjše število od tistih števil, ki jih uporabnik vnese.

Koda 2:

#include
uporabo imenski prostor std ;
praznina primerjati ( int vrednost_1, int vrednost_2, int * g_naslov, int * s_Naslov )
{
če ( vrednost_1 > vrednost_2 ) {
* g_Naslov = vrednost_1 ;
* s_Naslov = vrednost_2 ;
}
drugače {
* g_Naslov = vrednost_2 ;
* s_Naslov = vrednost_1 ;
}
}
int glavni ( )
{
int g_vrednost, s_vrednost, nova vrednost_1, nova vrednost_2 ;
cout << 'Prosimo, vnesite dve številki: ' <> novaVrednost_1 >> novaVrednost_2 ;
primerjati ( nova vrednost_1, nova vrednost_2, & g_vrednost, & s_vrednost ) ;
cout << ' \n Večje število je ' << g_vrednost << ' in manjše število je '
<< s_vrednost ;
vrnitev 0 ;
}

Izhod :
Uporabnik tukaj vnese '86' in '23'. Po pritisku na 'Enter' se prikaže rezultat. Na ta način dobimo več vrednosti.

Primer 3: Uporaba polja

Tukaj ustvarimo funkcijo »ComputeComparison()«, v katero vstavimo dve spremenljivki, »num_1« in »num_2«, kot tip »int« in tudi matriko z imenom »my_arr[]«. Po tem imamo pogoj »if«, ki preveri, ali je »num_1« večje od »num_2« ali ne. Če je res, je »num_1« dodeljen »my_arr[0]« in »num_2« je dodeljen »my_arr[1]«. Če pa pogoj ni resničen, se izvedejo stavke za 'else', v katerih dodelimo 'num_2' 'my_arr[0]' in 'num_1' 'my_arr[1]'.

Po tem tukaj pokličemo »main()« in nato deklariramo še dve int spremenljivki: »newNum_1« in »newNum_2«. Po tem je deklarirana matrika velikosti '2'. Po tem dobimo od uporabnika dve številki s pomočjo “cin” in nato pokličemo funkcijo “ComputeComparison()” in prikažemo naslednji rezultat. Torej, tukaj vrne več vrednosti.

Koda 3:

#include
uporabo imenski prostor std ;
praznina ComputeComparison ( int num_1, int num_2, int moj_arr [ ] )
{

če ( št_1 > št_2 ) {
moj_arr [ 0 ] = št_1 ;
moj_arr [ 1 ] = št_2 ;
}
drugače {
moj_arr [ 0 ] = št_2 ;
moj_arr [ 1 ] = št_1 ;
}
}

int glavni ( )
{
int novoŠtevilo_1, novoŠtevilo_2 ;
int moj_arr [ 2 ] ;

cout << 'Prosimo, vnesite dve številki za primerjavo' <> novoŠtevilo_1 >> novoŠtevilo_2 ;
ComputeComparison ( newNum_1, newNum_2, my_arr ) ;
cout << ' \n Večje število je ' << moj_arr [ 0 ] << ' in '
'manjše število je' << moj_arr [ 1 ] ;

vrnitev 0 ;
}

Izhod :
Tukaj vnesemo tako '54' kot '98' in nato pritisnemo 'Enter', da prikažemo rezultat. Prikazuje večja in manjša števila od števil, ki smo jih vnesli.

Primer 4: Uporaba tuples

Tukaj sta vključeni dve datoteki glave: »tuple« in »iostream«. Nato je tukaj postavljen imenski prostor »std«. Nato uporabimo ključno besedo »tuple« in vstavimo dva tipa podatkov, ki sta »int«. Po tem ustvarimo funkcijo z imenom »findingValues()« in kot njena parametra posredujemo »intValue_1« in »intValue2«.

Nato se »če« postavi tam, kjer vnesemo pogoj »intValue_1 < intValue_2«. Pod njim uporabimo ključno besedo 'return' in postavimo funkcijo 'make_tuple()', v kateri sta obe spremenljivki dodani kot parameter 'intValue_1, intValue2_'. Nato imamo del »else«, v katerega ponovno postavimo »return« skupaj s funkcijo »make_tuple()«. Tukaj pa najprej postavimo »intValue_2« in nato »intValue1«. Zdaj pokličemo “main()” in inicializiramo “new_value1” s “5” in “new_value2” z “28”.

V nadaljevanju deklariramo še dve spremenljivki tipa “int” z imeni “greater” in “smaller”. Nato postavimo funkcijo »tie()« in posredujemo »manjše, večje« spremenljivke kot parameter in tukaj pokličemo tudi funkcijo »findingValues()«. Nato izpišemo obe vrednosti: večje in manjše število.

Koda 4:

#include
#include
uporabo imenski prostor std ;
tuple  findingValues ( int intValue_1, int intValue_2 )
{
če ( intValue_1 < intValue_2 ) {
vrnitev make_tuple ( intValue_1, intValue_2 ) ;
}
drugače {
vrnitev make_tuple ( intValue_2, intValue_1 ) ;
}
}
int glavni ( )
{
int nova_vrednost1 = 5 , nova_vrednost2 = 28 ;
int večji, manjši ;
kravata ( manjši, večji ) = findingValues ( nova_vrednost1, nova_vrednost2 ) ;
printf ( 'Večje število je %d in '
'manjše število je %d' ,
večji, manjši ) ;
vrnitev 0 ;
}

Izhod :

Številke, ki jih dodamo naši kodi, hkrati prikazujejo večje in manjše vrednosti. Na ta način lahko preprosto vrnemo več vrednosti v naši kodi.

Zaključek

Ta vodnik govori o 'vračanju več vrednosti' v kodah C++. V tem vodniku smo temeljito raziskali ta pojem in razpravljali o treh tehnikah, ki pomagajo pri vračanju več vrednosti v programiranju C++. Pojasnili smo, da je več vrednosti vrnjenih z uporabo tehnik tulp, parov, kazalcev in matrik. Vse te tehnike so podrobno opisane tukaj.