C – Array 2
Arraylere geçen ki yazımızda bahsetmiştik . Bir önceki makaleye buraya tıklayarak gidebilirsiniz. Bu yazımızda arraylerle 2 boyutlu diziler yapacağım. Arraylerin ilerleyen konularda yani fonksiyonlarla ilgili maklaleler yazdıktan sonra ikisini birlikte kullanarak örnekler paylaşacağım.
İlk olarak matris şekli oluşturacağım. Normal matematikteki gibi . Bunu yapabilmem için yazmam gereken kod dizimi aşağıdaki gibidir.
#include<stdio.h>
int main()
{
int matris[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int a,b;
// a ve b yi döngü degişkeni olarak atıyorum
for(a=0;a<3;a++){
for(b=0;b<3;b++){
printf("%d ",matris[a][b]);
}
printf("\n");
// burada altsatıra geçmemin sebebi ilk 3 ünü yazdıktan sonra aşagıya geçmesi için
}
return 0;
}
Ekran Çıktısı;
1 2 3 4 5 6 7 8 9
Şimdi ise bunu kullanıcıdan sayı alarak , Kullanıcının girdiği sayıları ekrana bastıralım. Bu kez girdigimiz arayin boyutunu [3][3] değilde [3][6] yapacağım tabi siz isterseniz gene kendiniz bu kod dizimini yazarak farklı programlarda oluşturabilirsiniz.
#include<stdio.h>
int main()
{
int matris[3][5];
int a,b;
// a ve b yi döngü degişkeni olarak atıyorum
for(a=0;a<3;a++){
for(b=0;b<6;b++){
scanf("%d ",&matris[a][b]);
}
}
for(a=0;a<3;a++){
for(b=0;b<6;b++){
printf("%d ",matris[a][b]);
}
printf("\n");
}
return 0;
}
Ekran Çıktısı;
45 56 78 86 42 32 21 18 19 46 75 84 65 72 95 85 32 45 65 45 56 78 86 42 21 21 18 19 46 75 65 65 72 95 85 32 45
Bu sefer yukarıdaki yaptıgımız gibi bir program yapacağım ama bu arrayin boyutu [3][4] olacak ve kullanıcılar sayıların hepsini girdikten sonra program bu sayıları toplayacak . Sayıları ilk olarak sütunları toplayacak ve birbirine ekleye ekleye en sonda tüm sayıların toplamı olacak. Kod dizimi;
#include<stdio.h>
int main()
{
int matris[3][4];
int toplam=0;
int a,b;
// a ve b yi döngü degişkeni olarak atıyorum
for(a=0;a<3;a++){
for(b=0;b<4;b++){
scanf("%d ",&matris[a][b]);
}
}
for(a=0;a<3;a++){
for(b=0;b<4;b++){
printf("%d ",matris[a][b]);
}
printf("\n");
}
printf("\n");
// burada bir satır atladım çünkü toplamı ekrana bastıracağım.
for(b=0;b<4;b++){
// burada döngüyü ilk olarak b den başlatık çünkü üstten aşagıya toplamasını istiyorum.
for(a=0;a<3;a++){
toplam+=matris[a][b];
}
printf("%d ",toplam);
}
return 0;
}
Ekran Çıktısı;
1 2 3 4 5 6 7 8 9 10 11 12 133 1 2 3 4 5 6 7 8 9 10 11 12 15 33 54 78
Bir sonraki makale fonkisyonlarla ilgili olacak . Şimdiye kadar yapmış olduğumuz programların fonksiyonlar yardımıyla nasıl yapılabileceğini anlatacağım. Takipte kalın. Eğer sorunuz varsa yorumlarda bildirin.