C++'da Birden Çok Değer Nasıl Döndürülür?

C Da Birden Cok Deger Nasil Dondurulur



C++ dili bize birçok özellik sağlar ve programlamamızı çok daha kolaylaştırır. Ancak bazen C++ programlamayla çalışırken birden fazla değer döndürmemiz gerekir. Ne yazık ki C++ bu özelliği bize sunmuyor. C++'da birden fazla değer döndürmek için farklı teknikleri kullanmalıyız. C++'ta demetleri/çiftleri, işaretçileri ve dizileri kullanarak birden fazla değer döndürebiliriz. Bu kılavuzda tüm bu teknikleri kodlar ve açıklamalarla birlikte ayrıntılı olarak inceleyeceğiz.

Örnek 1: Demetleri/Çiftleri Kullanmak

C++'da birden fazla değer döndürmek için bazı pratik gösteriler yapalım. Burada kodumuzda birden fazla değer döndürmeye yardımcı olmak için demet/çift tekniklerini kullanıyoruz. C++ kodumuza dahil etmemiz gereken çeşitli başlık dosyaları sağlar. C++ programlamanın tüm kütüphanelerini içerdiği için buraya “bits/stdc++.h”yi ekledik. Daha sonra buraya “std” olan isim alanı eklenir. Bundan sonra üç veri tipini, iki float veri tipini ve geri kalan bir “char” veri tipini yerleştirdiğimiz “tuple” anahtar kelimesini kullanıyoruz. Altında, bir tuple döndürecek değerleri paketlemek için “return” anahtar sözcüğünü kullanıyoruz.

Artık birden fazla değer döndürmek için “pair” yöntemini kullanıyoruz. Bu “pair” yönteminde iki değişkenin veri tipini koyuyoruz ve burada her ikisi de “float”. Değişkenler “float_1” ve “float_2” olarak adlandırılır. Daha sonra “çiftlere” dönmek için iki değeri paketliyoruz. Bundan sonra burada “main()” çağırıyoruz ve ardından “f_1, f_2” ismiyle iki adet “float” değişken tanımlıyoruz. “Char” değişkeni de burada “myChar” olarak bildirilir. Daha sonra “My_Tuple()” fonksiyonunun döndürdüğü değerleri açıyoruz.







Bunun altında, döndürülen değerleri çiftler halinde saklıyoruz. “My_Tuple” fonksiyonunda ”4.99, 8.98” ve “My_Pair” fonksiyonunda “6.86, 3.22” değerlerini saklıyoruz. Daha sonra içinde yazılı olan tüm bilgilerin çıktısını alan “cout”u kullanıyoruz.



Kod 1:



#include
kullanarak ad alanı std ;
demet < batmadan yüzmek , batmadan yüzmek , karakter > My_Tuple ( batmadan yüzmek f_1, batmadan yüzmek f_2 ) {
geri dönmek make_tuple ( f_2, f_1, '$' ) ;
}
çift < batmadan yüzmek , batmadan yüzmek > My_Pair'im ( batmadan yüzmek f_a, batmadan yüzmek f_b ) {
geri dönmek make_pair ( f_b, f_a ) ;
}
int ana ( ) {
batmadan yüzmek f_1,f_2 ;
karakter benimCharım ;
bağlamak ( f_1, f_2, myChar ) = My_Tuple ( 4.99 , 8.98 ) ;
new_p'yi eşleştir = My_Pair'im ( 6.86 , 3.22 ) ;
cout << 'Tuple'larla elde ettiğimiz değerler : ' ;
cout << f_1 << ' ' << f_2 << ' ' << benimCharım << sonunda ;
cout << 'İkili olarak elde ettiğimiz değerler: ' ;
cout << yeni p. Birinci << ' ' << yeni p. ikinci ;
geri dönmek 0 ;
}

Çıktı :





Burada “tuples” ve “pair” metodunu kullanarak elde ettiğimiz değerler aşağıda gösterilmiştir. Burada birden fazla değer döndürdüğünü unutmayın.



Örnek 2: İşaretçileri Kullanmak

Buradaki “karşılaştır” fonksiyonunda parametreleri adresleriyle birlikte aktarıyoruz. “int” tipinin “value_1” ve “value_2”lerini ve “int* g_Address, int* s_Address”i ekliyoruz. Bundan sonra “değer_1”in “değer_2”den büyük olması koşulunu eklediğimiz “if” koşulunu kullanıyoruz. Eğer bu sağlanırsa aşağıdaki ifade yürütülür. Değilse bunun altına eklenen ifadeyi dikkate almaz ve “else” kısmına geçer. Şimdi “main()”i çağırdıktan sonra “g_value”, “s_value”, “newValue1” ve “newValue2” adlarıyla dört yeni değişken bildiriyoruz.

Bundan sonra sayıları girmek için bir mesaj yazdırıyoruz ve ardından kullanıcıdan iki değer alan “cin” i yerleştiriyoruz. Kullanıcının girdiği değerler sırasıyla “yeniDeğer1” ve “yeniDeğer2” değişkenlerine kaydedilir. Daha sonra daha önce oluşturduğumuz “compare()” fonksiyonunu çağırıp içine dört parametre aktarıyoruz. Daha sonra “karşılaştır” fonksiyonunu gerçekleştirdikten sonra sonucu ekrana getiriyoruz ve kullanıcının girdiği sayılardan büyük olanını ve küçük olanını gösteriyor.

Kod 2:

#include
kullanarak ad alanı std ;
geçersiz karşılaştırmak ( int değer_1, int değer_2, int * g_Adres, int * s_Adres )
{
eğer ( değer_1 > değer_2 ) {
* g_Adres = değer_1 ;
* s_Adres = değer_2 ;
}
başka {
* g_Adres = değer_2 ;
* s_Adres = değer_1 ;
}
}
int ana ( )
{
int g_değeri, s_değeri, yeniDeğer_1, yeniDeğer_2 ;
cout << 'Lütfen iki rakam giriniz: ' <> yeniDeğer_1 >> yeniDeğer_2 ;
karşılaştırmak ( yeniDeğer_1, yeniDeğer_2, & g_değeri, & s_value ) ;
cout << ' \N Büyük sayı ' << g_değeri << ' ve daha küçük olan sayı '
<< s_value ;
geri dönmek 0 ;
}

Çıktı :
Kullanıcı buraya “86” ve “23” girer. “Enter” tuşuna bastıktan sonra sonuç görüntülenir. Bu sayede birden fazla değer elde ediyoruz.

Örnek 3: Diziyi Kullanma

Burada “int” tipi olarak “num_1” ve “num_2” adlı iki değişkeni ve ayrıca “my_arr[]” isimli bir diziyi eklediğimiz “ComputeComparison()” fonksiyonunu oluşturuyoruz. Bundan sonra “num_1”in “num_2”den büyük olup olmadığını kontrol eden “if” koşulumuz var. Doğruysa, 'num_1', ​​'my_dizilim[0]'e, 'num_2' ise 'my_dizilim[1]'e atanır. Ancak koşul doğru değilse, 'else'den sonraki ifadeler yürütülür; burada 'num_2'yi 'my_arr[0]'a ve 'num_1'i 'my_arr[1]'e atadık.

Bundan sonra burada “main()” çağırıyoruz ve ardından iki int değişken daha tanımlıyoruz: “newNum_1” ve “newNum_2”. Bundan sonra “2” boyutunda bir dizi bildirilir. Bundan sonra “cin” yardımıyla kullanıcıdan iki sayı alıyoruz ve ardından “ComputeComparison()” fonksiyonunu çağırıp aşağıdaki sonucu gösteriyoruz. Yani burada birden fazla değer döndürüyor.

Kod 3:

#include
kullanarak ad alanı std ;
geçersiz Hesaplama Karşılaştırması ( int sayı_1, int sayı_2, int benim_arr [ ] )
{

eğer ( sayı_1 > sayı_2 ) {
benim_arr [ 0 ] = sayı_1 ;
benim_arr [ 1 ] = sayı_2 ;
}
başka {
benim_arr [ 0 ] = sayı_2 ;
benim_arr [ 1 ] = sayı_1 ;
}
}

int ana ( )
{
int yeniNum_1, yeniNum_2 ;
int benim_arr [ 2 ] ;

cout << 'Karşılaştırma için lütfen iki sayı giriniz' <> yeniNum_1 >> yeniNum_2 ;
Hesaplama Karşılaştırması ( yeniNum_1, yeniNum_2, my_arr ) ;
cout << ' \N Büyük sayı ' << benim_arr [ 0 ] << ' ve '
'daha küçük sayı' << benim_arr [ 1 ] ;

geri dönmek 0 ;
}

Çıktı :
Buraya hem “54” hem de “98” yazıp “Enter” tuşuna basarak sonucu ekrana getiriyoruz. Girdiğimiz sayıların büyük ve küçüklerini gösterir.

Örnek 4: Tuple'ları Kullanmak

Burada iki başlık dosyası bulunmaktadır: “Tuple” ve “iostream”. Daha sonra “std” ad alanı buraya konur. Daha sonra “tuple” anahtar sözcüğünü kullanıyoruz ve “int” olan iki veri türünü ekliyoruz. Bundan sonra “findingValues()” isminde bir fonksiyon oluşturup parametre olarak “intValue_1” ve “intValue2”yi geçiyoruz.

Daha sonra “intValue_1 < intValue_2” koşulunu yazdığımız yere “if” konur. Altına ise “return” anahtar kelimesini kullanıp “intValue_1, intValue2_” parametresi olarak her iki değişkenin de eklendiği “make_tuple()” fonksiyonunu yerleştiriyoruz. Daha sonra “make_Tuple()” fonksiyonu ile birlikte tekrar “return” yerleştirdiğimiz “else” kısmımız oluyor. Ancak burada önce “intValue_2”yi, sonra da “intValue1”i yerleştiriyoruz. Şimdi “main()” diyoruz ve “yeni_değer1”i “5” ile, “yeni_değer2”yi ise “28” ile başlatıyoruz.

Aşağıda “int” tipinde “greater” ve “smaler” isimleriyle iki değişken daha tanımlıyoruz. Daha sonra “tie()” fonksiyonunu yerleştirip “küçük, büyük” değişkenleri parametre olarak geçiyoruz ve burada da “findingValues()” fonksiyonunu çağırıyoruz. Bundan sonra her iki değeri de yazdırıyoruz: büyük ve küçük sayılar.

Kod 4:

#include
#include
kullanarak ad alanı std ;
tuple bulmaDeğerleri ( int intValue_1, int intValue_2 )
{
eğer ( intValue_1 < intValue_2 ) {
geri dönmek make_tuple ( intValue_1 , intValue_2 ) ;
}
başka {
geri dönmek make_tuple ( intValue_2 , intValue_1 ) ;
}
}
int ana ( )
{
int yeni_değer1 = 5 , yeni_değer2 = 28 ;
int daha büyük, daha küçük ;
bağlamak ( daha küçük, daha büyük ) = Değerleri bulma ( yeni_değer1, yeni_değer2 ) ;
baskı ( 'Büyük sayı %d'dir ve '
'küçük sayı %d'dir' ,
daha büyük, daha küçük ) ;
geri dönmek 0 ;
}

Çıktı :

Kodumuza eklediğimiz sayılar aynı anda büyük ve küçük değerleri gösterir. Bu sayede kodumuzda birden fazla değeri kolaylıkla döndürebiliriz.

Çözüm

Bu kılavuz C++ kodlarında “birden fazla değer döndürme” ile ilgilidir. Bu kılavuzda bu kavramı kapsamlı bir şekilde araştırdık ve C++ programlamada birden fazla değer döndürmeye yardımcı olan üç tekniği tartıştık. Demetler, çiftler, işaretçiler ve dizi tekniklerinden yararlanarak birden fazla değer döndürüldüğünü açıkladık. Tüm bu teknikler burada ayrıntılı olarak açıklanmaktadır.