Çözüldü C++ alt fonksiyona boş dizi verip dolu şekilde geri almak

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
30 Ağustos 2016
Mesajlar
2.481
Makaleler
4
Çözümler
22
Daha fazla  
Cinsiyet
Erkek
Meslek
Şimdi okuyan ama ilerde işşiz.
Main gövdesi içerisinde elelmanliDizi20[] adında 20 elemanlı boş dizi oluşturuyorum.

Ben bu diziyi DiziyiDoldur adlı alt fonksiyona gönderip dolu şekilde almak istiyorum ne yapmalıyım?

Aşağıdaki görselde örnek yapıyı gösterdim.

1651341824994.png
 
Çözüm
Diziler reference olarak fonksiyona gönderilir. Bu sebeple bir şey yapmana gerek yok. Fonksiyon parametresinden aldığın diziyi doldurman yeterli. Main de de dizi değişmiş olacaktır.
Pointer olarak da iletebilirsin.
C++:
void fill(int arr[], int min, int max) {
    for(int i = min; i<max; i++) {
        arr[i] = 3;
    }
}
//veya
void fill(int* arr, int min, int max)
    ...

//Kullanım
void main() {
    int arr[5] = {0};
    fill(arr, 2, 5);
}
Fonksiyonunu deger dondurecek sekilde guncellemelisin. Islemleri yaptiktan sonra guncellenmis array'i return et
 
Diziler reference olarak fonksiyona gönderilir. Bu sebeple bir şey yapmana gerek yok. Fonksiyon parametresinden aldığın diziyi doldurman yeterli. Main de de dizi değişmiş olacaktır.
Pointer olarak da iletebilirsin.
C++:
void fill(int arr[], int min, int max) {
    for(int i = min; i<max; i++) {
        arr[i] = 3;
    }
}
//veya
void fill(int* arr, int min, int max)
    ...

//Kullanım
void main() {
    int arr[5] = {0};
    fill(arr, 2, 5);
}
 
Çözüm
Diziler reference olarak fonksiyona gönderilir. Bu sebeple bir şey yapmana gerek yok. Fonksiyon parametresinden aldığın diziyi doldurman yeterli. Main de de dizi değişmiş olacaktır.
Pointer olarak da iletebilirsin.
C++:
void fill(int arr[], int min, int max) {
    for(int i = min; i<max; i++) {
        arr[i] = 3;
    }
}
//veya
void fill(int* arr, int min, int max)
    ...

//Kullanım
void main() {
    int arr[5] = {0};
    fill(arr, 2, 5);
}
Sağolun hocam çalıştı.
 
Son düzenleme:
Diziler reference olarak fonksiyona gönderilir. Bu sebeple bir şey yapmana gerek yok. Fonksiyon parametresinden aldığın diziyi doldurman yeterli. Main de de dizi değişmiş olacaktır.
Pointer olarak da iletebilirsin.
C++:
void fill(int arr[], int min, int max) {
    for(int i = min; i<max; i++) {
        arr[i] = 3;
    }
}
//veya
void fill(int* arr, int min, int max)
    ...

//Kullanım
void main() {
    int arr[5] = {0};
    fill(arr, 2, 5);
}
Referans olarak iletilmez yalniz orayi duzeltelim, bu kod icin isaretcinin bir kopyasi iletilir.
 

Technopat Haberler

Yeni konular

Yeni mesajlar

Geri
Yukarı