C Programlama Dili Çok Boyutlu Diziler (3 Boyutlu)
C programlama dili diziler konusunda tek boyutlu ve çift boyutlu dizileri anlatmıştık. C Programlama Dili Çok Boyutlu Diziler’i bir örnek anlatacağız.
SORU : İndisleri sırasıyla 3,4 ve 5 olan 3 boyutlu bir integer dizi tanımlayınız. Bu dizinin her bir bloğuna 1’den 60’a kadar sırasıyla değerleri yerleştirelim. Daha sonra 3 indis çarpımı ile blok içerisindeki değer eşit olanları ekrana yazdıran c kodunu yazınız.
örnek çıktı şu şekildedir;
1 x 1 x 1 indisleri carpimi ile icerisindeki 1 degeri aynidir. |
ÇÖZÜM :
- Öncelikle integer türünde 3 boyutlu dizimiz olarak dizi[3][4][5] dizisini tanımlıyoruz.
- Daha sonra iç içe 3 for döngüsü ile bütün bloklara 1’den 60’a kadar ardışık değerleri atıyoruz.
- Değer atama işleminden sonra tekrar iç içe 3 for döngüsü ile bütün elemanlar kontrol edilir.
- Dizilerde indisler 0’dan başladığı için çarpma işleminde yutan eleman durumundan dolayı kontrol yaparken “indis+1” olarak kontrol yapılmalıdır.(i+1 ya da j+1 gibi)
- Son olarak if kontrol deyimi içerisindeki şartı sağlayan değerlerde tek tek ekrana yazılır ve program sonlandırılır.
Program Kodu :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include<stdio.h> main(){ int dizi[3][4][5]; int i , j , k , deger=1; //İçiçe 3 for döngüsü ile 3 boyutlu dizimize 1'den 60'a kadar değerler atılır. for(i=0 ; i<3 ; i++){ for(j=0 ; j<4 ; j++){ for(k=0 ; k<5 ; k++){ dizi[i][j][k] = deger; deger++; } } } //ikinci kez içiçe 3 for döngüsü ile bloklar tek tek kontrol edilir ve indis çarpımları ile blok değeri eşit olanlar ekrana yazılır. for(i=0 ; i<3 ; i++){ for(j=0 ; j<4 ; j++){ for(k=0 ; k<5 ; k++){ if(dizi[i][j][k] == (i+1)*(j+1)*(k+1)){ printf("%d x %d x %d indisleri carpimi ile icerisindeki %d degeri aynidir.\n",i+1,j+1,k+1,dizi[i][j][k]); break; } } } } return 0; } |
Ekran Çıktısı :
1 x 1 x 1 indisleri carpimi ile icerisindeki 1 degeri aynidir. 1 x 2 x 5 indisleri carpimi ile icerisindeki 10 degeri aynidir. 1 x 3 x 5 indisleri carpimi ile icerisindeki 15 degeri aynidir. 1 x 4 x 5 indisleri carpimi ile icerisindeki 20 degeri aynidir. 2 x 4 x 5 indisleri carpimi ile icerisindeki 40 degeri aynidir. 3 x 4 x 5 indisleri carpimi ile icerisindeki 60 degeri aynidir. |
- Çıktıda da görüldüğü gibi indis çarpımları ile blok içerisindeki değerin aynı olduğu sonuçlar ekrana verilmiştir.
Son olarak tek ve çift boyutlu dizi konularına bir göz atmak isterseniz buradan o konularımıza da ulaşabilirsiniz.
Leave a reply
Lütfen yorum için giriş yap ve yakayıt ol Teşekkürler .