C++ Diziler
Merhaba arkadaşlar,bu dersimizde dizileri anlatacağım.Cin ile dışardan girilen bir iki değeri okuruz.Fakat dışardan alınacak değerler arttığı zaman alınan değerleri tutmak için dizileri kullanırız.Hafızada sıralı bir halde bulunan aynı türden verilerin depolandığı yapıya dizi(array) denir.
Tek Boyutlu Dizi
Başlangıç olarak tek boyutlu dizilerle başlayacağız.
Bir dizinin elemanlarının indislerini köşeli parantez([]) ile gösteririz.Bir x dizisi;
x[0],x[1],x[2],…,x[n] şeklinde indikslere sahiptir.Dizilerde indiksler 0‘dan başlar.Bu sebeple dizinin ilk elemanı sıfırıncı indikstedir.
Dizinin boyutunu başlangıçta belirleyecek olursakta x[10] dediğimiz zaman 10 elemanlı bir dizi tanımlamış oluruz.x[] şeklinde tanımlarsakta dizimizin belli bir boyutu olmaz.
Dizinin genel tanımı;
Dizinin tipi Adı[Boyut]
Örnek: int x[10],char harfler[29],float ondalik[7] şeklinde dizileri tanımlayabiliriz.
Diziye Değer Atamak
Program içerisinde diziye değer ataması yapılabilir.Diziye birer birer değer ataması yapacağımız gibi toplu halde de değer ataması yapabiliriz.Şimdi tek tek ve topluca nasıl değer atayabileceğimizi görelim.
-> x[0]=23;x[1]=12;x[2]=11; Birer birer değer ataması,
-> x[]={23,12,11} şeklinde de toplu değer ataması yapabiliriz.
Bir örnek ile değer atamayı daha rahat görelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include "stdafx.h" #include<iostream> using namespace std; int main() { int x[5]; x[0] = 2; x[1] = 5; x[2] = 7; x[3] = 43; x[4] = 87; x[5] = 38; cout << x[0] << endl << x[1] << endl << x[2] << endl << x[3] << endl << x[4] << endl << x[5] << endl; system("Pause"); return 0; } |
Örnekte 6 boyutlu bir dizi belirledik.Ve her birine birer birer atma yaptık.Birde toplu değer ataması örneği görelim.
1 2 3 4 5 6 7 8 9 10 11 12 |
#include "stdafx.h" #include<iostream> using namespace std; int main() { int x[] = { 2, 5, 7, 43, 87, 38 }; cout << x[0] << endl << x[1] << endl << x[2] << endl << x[3] << endl << x[4] << endl << x[5] << endl; system("Pause"); return 0; } |
Toplu halde değer ataması yapsak bile örnekte görüldüğü gibi bir farklılık yoktur.
*int x[4]={0}; ile tüm dizi elemanlarına 0 değeri atanır.
Karakter Dizisi
Char dizisi örneği görelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include "stdafx.h" #include<iostream> using namespace std; int main() { char sehir[] = "ANKARA"; cout << "SEHIR[0]=" << sehir[0] << endl; cout << "SEHIR[1]=" << sehir[1] << endl; cout << "SEHIR[2]=" << sehir[2] << endl; cout << "SEHIR[3]=" << sehir[3] << endl; cout << "SEHIR[4]=" << sehir[4] << endl; cout << "SEHIR[5]=" << sehir[5] << endl; system("Pause"); return 0; } |
Burada char dizimize toplu değer ataması yaptık.Daha kısa halde yazacak olursak;
1 2 3 4 5 6 7 8 9 |
#include "stdafx.h" #include<iostream> using namespace std; int main() { char sehir[] = "ANKARA"; cout << "SEHIR[]=" << sehir << endl; system("Pause"); return 0; } |
Dışarıdan char dizisine değerler atayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include "stdafx.h" #include<iostream> using namespace std; int main() { char isim[15], soyisim[15]; cout << "Isim = "; cin >> isim; cout << "Soyisim = "; cin >> soyisim; cout << "Isim Soyisim ="<<isim<<" "<<soyisim<<endl; system("Pause"); return 0; } |
Bu örnek ile dışardan diziye değer atamasını da görmüş olduk.
Çok Boyutlu Diziler
Çok boyutlu diziler matris mantığıyla aynıdır.Tanımlanması ise tek boyutlu dizilere benzer.Matris işlemlerinde çok boyutlu dizileri kullanırız.
Çok boyutlu dizilerin tanımı;
Dizi Tipi Ad[boyut1][boyut2]
Örnek olarak x[2][2] dizisi 4 eleman içerir.
Çok boyutlu dizilerde değer ataması yapılırken sütun sayısını ifade edilen parantez boş bırakılamaz.
int x[2][2]={{1,2},{3,4}}
int s[5][2]={{1,2},{3,4},{5,6},{7,8},{9,10}}
int s[0][0]=1;s[0][1]=2…. Şeklinde de tanımlamalar yapılabilir.
Örnek ile çok boyutlu dizi yazılışını görelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include "stdafx.h" #include<iostream> using namespace std; int main() { int s[5][2] = { {1,2},{3,4},{5,6},{7,8},{9,10} }; cout << "\n\n\t\tS Matrisi" << endl; cout << "\t**************************" << endl; for (int i = 0; i < 5; i++) { for (int j = 0; j < 2; j++) { cout << "\t[" << i << "][" << j << "] :"; cout << s[i][j] << endl; } } system("Pause"); return 0; } |
Çok boyutlu diziler için içiçe for döngüsü kullanırız.İlk for döngüsü satır sayısını tutarken,ikinci for döngüsü sütun sayısını tutar.Böylece çok boyutlu dizilerimizinde tanımlamış olduk.
Yapmış olduğunuz anlatım için teşekkür ederim eksiğimi kapattım
Çok Teşekkürler Şu Zor Günde İlaç Gibi Geldi 😀