Array to Function (Fonksiyon Dizisi)
Bir dizinin tamamını fonksiyona bağımsız değişken olarak aktarmaya izin vermez. Ancak, dizinin adını dizin olmadan belirterek diziye bir işaretçi iletebilirsiniz.
Bir fonksiyonda bağımsız değişken olarak tek boyutlu bir dizi iletmek istiyorsanız, fonksiyon biçim parametresini aşağıdaki üç yoldan biriyle bildirmeniz gerekir ve her üç bildirim yöntemi de benzer sonuçlar üretir, çünkü her biri derleyiciye bir tamsayı işaretçisinin gittiğini söyler alınacak.
Syntax (Sözdizimi)
void diziFonk (int dizi [16]); void diziFonk (double dizi []); void diziFonk (char *dizi);
Örnek:
#include <iostream> using namespace std; void diziFonk(int dizi[7]); void diziFonk(int dizi[7]) { int maks = dizi[0]; int min = dizi[0]; for (int x = 0; x < 7; x++) { if (maks < dizi[x]) { maks = dizi[x]; } } for (int x = 0; x < 7; x++) { if (min > dizi[x]) { min = dizi[x]; } } cout << "Dizinin maksimum elemanı: "<< maks << endl; cout << "Dizinin minimum elemanı: "<< min << endl << endl; } int main() { int dizi1[7] = { 41,64,-421,12,34,579,-28 }; int dizi2[7] = { 87,104,12,-74,446,-48,27 }; diziFonk(dizi1); diziFonk(dizi2); return 0; }
Çıktı:
Dizinin maksimum elemanı: 579 Dizinin minimum elemanı: -421 Dizinin maksimum elemanı: 446 Dizinin minimum elemanı: -74
Örnek:
#include <iostream> using namespace std; void diziFonk(double dizi[]); int main() { double dizi1[5] = { 41.579,-584.41,12.3,68.96,24.671 }; diziFonk(dizi1); return 0; } void diziFonk(double dizi[]) { double toplam=0.0; cout << "Dizinin elemanları: "<< endl; for (int x = 0; x < 5; x++) { cout << "Dizinin "<< x + 1 <<". elemanı: "<< dizi[x] << endl; toplam += dizi[x]; } cout << endl << "Dizinin elemanlarının toplamı: "<< toplam << endl; }
Çıktı:
Dizinin elemanları: Dizinin 1. elemanı: 41.579 Dizinin 2. elemanı: -584.41 Dizinin 3. elemanı: 12.3 Dizinin 4. elemanı: 68.96 Dizinin 5. elemanı: 24.671 Dizinin elemanlarının toplamı: -436.9
Örnek:
#include <iostream> using namespace std; void diziFonk(char *dizi); void diziFonk(char *dizi) { cout << *dizi << " "; } int main() { char dizi1[] = {'c', 'K', 'f', 't', '5', 'Y', 'n', '8', 'x', '3' }; for (int x=0; x<10; x++) { diziFonk(&dizi1[x]); } return 0; }
Çıktı:
c K f t 5 Y n 8 x 3