6 Kasım 2018 Salı

Diziler

**Dizi elemanları ardışık hucrelerde saklanmaz**
Dizi,ayni tipteli verilere tek bir isimle erişmek için kullanılan bir kümedir.
Bir dizi bildirildikten sonra dizinin bütün elemanları bellekte ardışık olarak saklarnır.Buna göre bir diziyi dizi yapan ii temel özellik vardir.
1-Dizi elemanların bellekte (program çalıştığı sürece) sürekli biçimde bulunur
2-Dizi elemanların ayni türden değişikler olması
Dizilerin Bildirimi
Bir Dizi çok sayida değişken barındırdığından bunlari birbirinden ayırtetmek için indis adi verilerin bir bilgiye ihtiyaç vardır
c programlama dilinde başlangıç indisi her zaman 0'dır
Bir dizinin bildirim işlemin genel biçimi söyledir.


veritipidizi_adı[Eleman_sayisi];

 int notlar[50];
 notlar[0]=100
 notlar[1]=75
 notlar[2]=80
 Dizilerin eleman sayılarını aşağıdaki gibi sembolik sabitlere belirtmek mümkündür
 #define n 100
 Bir dizinin bellekte kapladıgı alanın bayt cinsinden karşılığı sizeof operetörü ile öğrenilebilir

 int a[5],b,c;
 b=sizeof(a);  /*Bellekte Kapladıgı alan:b=4*5=20 bayt*/
 c=sizeof(a) /sizeof(int);/*Dizinin boyutu c=20/4=5 */
 Diziler
 dizilere başlangıç degeri verme
 bir dizie başlangıç degerleri aşagıdaki gibi kısa atanabilir :
  float kutla[5]= {8.471,3.683,9.107,4.739,3918};
  int maliyrt[3]= { 25,72,94};
 
  gelişmiş compilerlar [x] x'i ister .
  ms dos gibi düşük kompaylırlar istemez.
  bir diziin uzunluğu belirtilmeden de başlangıç değeri atamak mümkündür
  int[] = {100,200,300,400};
 
  derleyici bu şekilde bir atama ile karşılaştığında , küme parantezi içindeki eleman sayısını hesaplar ve dizinin
  o uzunlukta açıldığını varsayar.
  ----------------
  #include <stdio.h>

int main(){
    int notlar[10],i;
    for(i=0;i<=10;i++){
    printf("notlar dizisinin %d.elemanini giriniz:",i) ;
scanf("%d",&notlar[i-1]);
  }
for(i=1;i<=10;i++)
printf("notlar dizisinin %d.elemani %d dir\n",i,notlar[i-1]);
return 0;
}
------------------------
#include <stdio.h>

int main(){
    int boyut,i;
    printf("dizinin kac elemanli olacagini giriniz");
    scanf("%d",&boyut);
   
    int notlar[boyut];
    for(i=0;i<=boyut-1;i++){
    printf("notlar dizisinin %d.elemanini giriniz:",i) ;
scanf("%d",&notlar[i-1]);
  }
for(i=1;i<=boyut-1;i++)
printf("notlar dizisinin %d.elemani %d dir\n",i,notlar[i-1]);
return 0;
}
-------------------------
#include <stdio.h>

int main(){
    int boyut,i;
    printf("dizinin kac elemanli olacagini giriniz");
    scanf("%d",&boyut);
   
    int notlar[boyut];
    i=1;
    while (i<=boyut){

    printf("notlar dizisinin %d.elemanini giriniz:",i) ;
scanf("%d",&notlar[i-1]);
i++;
  }
  i--;
while (i>=1){
printf("notlar dizisinin %d.elemani %d dir\n",i,notlar[i-1]);
i--;
return 0;}

}
---------------------

0 yorum:

Yorum Gönder