4 Ocak 2014 Cumartesi

C dili Diziler - Ders9


Ders9: Diziler


Dizi bir kümedir. Aynı tipte verilere tek bir isimle erişmek için kullanılır. Bir dizinin bütün elemanları bellekte peşpeşe saklanır.
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];
Aşağıda dizilerin kullanımı il ilgili 10 adet örnek sunulmuştur. Örnekleri dikkatle inceleyin.
Program 9.1 : Dizi elamanlarına erişim.
1:  main(){
2:     int i,x[5];
3:     x[0]=5;
4:     x[1]=25;
5:     x[2]=-40;
6:     for(i=0;i<3;i++)
7:       printf("%d\n",x[i]);
8:  }

Program 9.2 : Dizilere başlangıç değeri verme
1:  main(){
2:     int i,x[5]={5,0,6};
3:     int y[]={1,5,9};
4:     puts("X  Y");
5:     for(i=0;i<3;i++)
6:       printf("%d  %d\n",x[i],y[i]);
7:  }

Program 9.3 : Karakter dizisi (String)
1:  main(){
2:     int   i;
3:     char  ad[][15]  ={"Ahmet",
4:                       "Mehmet","Can"};
5:     int   kilo[]={70,60,52};
6:     float boy[] ={1.70,1.85,1.45};
7:     puts("\nISIM\tKILO\tBOY");
8:     for(i=0;i<3;i++)
9:        printf("%s\t%d\t%1.3f\n",ad[i],kilo[i],boy[i]);
10: }

Program 9.4 : Beş sayının ortalama hesabı
1:  main(){
2:      int   i,x[5],toplam =0;
3:      float ort;
4:      for(i=0;i<5;i++){
5:        printf("%d. eleman : ",i+1);
6:        scanf("%d",&x[i]);
7:        toplam += x[i];
8:      }
9:      ort = (float) toplam/5;
10:     printf("ortalamalari : %f",ort);
11: }

Program 9.5 : Dizilerin fonksiyonla kullanma
1:  void yaz(int x[]);
2:  main(){
3:      int x[10];
4:      yaz(x);
5: }
6:
7:  void yaz(int x[]){
8:     int i;
9:     for(i=0;i<10;i++)
10:      printf("%d\n",x[i]);
11: }
12:

Program 9.6 : Dizinin bellekte kapladığı alan
1:  main(){
2:     char   dizi1[10];
3:     int    dizi2[10];
4:     float  dizi3[10];
5:     double dizi4[10];
6:     printf( "%d\n",sizeof(dizi1) );
7:     printf( "%d\n",sizeof(dizi2) );
8:     printf( "%d\n",sizeof(dizi3) );
9:     printf( "%d\n",sizeof(dizi4) );
10: }

Program 9.7 : On elemanlı bir diziye ait elamanların sırlanaması
1:  main(){
2:    int x[10],i,j,gec;
3:    puts("5 tane sayi gir:");
4:    for(i=0;i<5 data-blogger-escaped-10:="" data-blogger-escaped-11:="" data-blogger-escaped-12:="" data-blogger-escaped-13:="" data-blogger-escaped-14:="" data-blogger-escaped-15:="" data-blogger-escaped-16:="" data-blogger-escaped-17:="" data-blogger-escaped-18:="" data-blogger-escaped-19:="" data-blogger-escaped-20:="" data-blogger-escaped-21:="" data-blogger-escaped-22:="" data-blogger-escaped-23:="" data-blogger-escaped-24:="" data-blogger-escaped-25:="" data-blogger-escaped-26:="" data-blogger-escaped-27:="" data-blogger-escaped-28:="" data-blogger-escaped-5:="" data-blogger-escaped-6:="" data-blogger-escaped-7:="" data-blogger-escaped-8:="" data-blogger-escaped-:="" data-blogger-escaped-d.sayi="" data-blogger-escaped-d="" data-blogger-escaped-for="" data-blogger-escaped-gec="" data-blogger-escaped-i="" data-blogger-escaped-if="" data-blogger-escaped-j="" data-blogger-escaped-lt="" data-blogger-escaped-n="" data-blogger-escaped-printf="" data-blogger-escaped-scanf="" data-blogger-escaped-x="">

Program 9.8 : İki matrisin toplamı
1:  main(){
2:     int i,j,A[3][3],B[3][3],C[3][3];
3:     puts("iki matrisin toplami:");
4:     puts("A matrisinin elemanlarini girin:");
5:     for(i=0;i<3;i++){
6:        for(j=0;j<3;j++){
7:           printf("A(%d,%d)=",i+1,j+1);
8:      scanf("%d",&A[i][j]);
9:        }
10:   }
11:
12:   puts("B matrisinin elemanlarini girin:");
13:   for(i=0;i<3;i++){
14:      for(j=0;j<3;j++){
15:         printf("B(%d,%d)=",i+1,j+1);
16:      scanf("%d",&B[i][j]);
17:      }
18:   }
19:
20:   puts("A+B matrisinin elemanlari:");
21:   for(i=0;i<3;i++){
22:      for(j=0;j<3;j++){
23:         C[i][j] = A[i][j] + B[i][j];
24:         printf("C(%d,%d)=%d\n",i+1,j+1,C[i][j]);
25:      }
26:   }
27:
28: }

Program 9.9 : Elemanları (0,100) arsında olan rasgele dizi
1:  #include <time.h>
2:  #include <stdlib.h>
3:  main(){
4:     int i,x[10];
5:     randomize();    /* rasgele sayı üretecini başlatır */
6:     for(i=0;i<10;i++)
7:     {
8:       x[i]=random(100);       /* 0-100 arasında rasgele sayı seçiliyor */
9:       printf("%d\n",x[i]);
10:    }
11: }

Program 9.10 : Dizi elemanlarının bellekteki sıralanış adresleri
1:  main(){
2:    int i,x[10];
3:    puts("x dizisinin elemanlarının sıralanışı");
4:    for(i=0;i<10;i++)
5:     printf("%p\n",&x[i]);
6:  }

Hiç yorum yok:

Yorum Gönder