Dizilerin ilk terimi her zaman sıfırıncı terimdir ve bu indis "[ ]" içinde gösterilir. Yukarıdaki örnekte:
isim[0]=a, // sıfırıncı terim
isim[1]=h, // birinci terim
isim[2]=m, // ikinci terim
isim[3]=e, // üçüncü terim
isim[4]=t, // dördüncü terim
DİZİLERİN TANIMLANMASI
Dizi Tipi Genel bildirimi Örnek
Tek boyutlu diziler tip ad[eleman_sayısı] int veri[10];
İki boyutlu diziler tip ad[satir_say][sutun_say] float mat[5][4];
Çok boyutlu diziler tip ad[boyut_1][boyut_2][boyut_3]...[ boyut_n] double x[2][4][2];
DİZİLERİN TANIMLANMASI
Dizilerde tanımlama küme parantezleriyle yapılır. Önce dizi tipi, sonra dizi adı, dizinin kapasitesi ve elemanları yazılır.int sayilar[3]={1,2,3}
Sadece 3 eleman olduğunda elle yazmak kolay.Peki ya 100 eleman olsaydı ve kullanıcıdan girmesini istememiz gerekseydi? Böyle durumlarda döngüler yardımımıza koşar. Aşağıdaki program 10 öğrenciden oluşan bir sınıfın not ortalamasını hesaplıyor.
Önce 10 elemandan oluşan notlar isminde bir int dizisi açtık. Döngüyle diziyi dolduracağımızdan bir de indis değişkeni lazım. Ortalama hesabı için de toplam ve ortalama değişkenleri var. Bu ikisi float olarak tanımlanırsa daha detaylı ve doğru bir sonuç alınabilir ben olabildiğince basit tutmaya çalıştım.
10 elemanımız olduğu için döngümüz 0,1,2....,9 elemanlarını kapsamalı çünkü diziler 0'dan başlar. Scanf içinde notlar'ı alırken köşeli parantez içindeki indis bilgisinin öncekiler gibi sabit olmadığına, bir değişkene bağlı olduğuna dikkat edin. Bu sayece tek bir scanf ile tekrar tekrar bir sonraki elemanı alarak ilerliyoruz.
Toplam kısmındaysa aynı sayi=sayi+1 'de olduğu gibi bir mantık var. Nasıl orda sürekli 1 ekliyorsak burada da sürekli notları ekliyoruz sırayla. İlk toplam değerimiz sıfır. İlk döngüde (not olarak atıyorum 30 girilmiş olsun) 0+30 bizim yeni toplam değerimiz olacak. İkinci döngüde 50 girilmişse 30+50'den yeni toplam değeri 80 olmuş olacak ve bu şekilde 10 sayıyı da toplamış oluyoruz.
Ortalama hesabının döngü dışında olduğuna dikkat edin. Eğer döngü içerisinde olsaydı bize 10 defa ortalama hesaplayacaktı şimdi ise bütün sayılar toplandıktan sonra ortalamayı hesaplıyoruz.
Hiç yorum yok:
Yorum Gönder