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.