Cərgələr (Massiv - Array)

Cərgələr eyni tipdən olan bir neçə dəyişəni bir ad adla elan etməyə və onlara müraciət etməyə imkan verir. Cərgənin lementlərinə müraciət etmək üçün cərgənin adından və müraciət etmək istədiyimiz elementin indeks nomrəsindən istifadə edirik. Əsrin dilində cərgəlin elementlərinin indeks nömrələri 1 -dən başlayaraq hesablanır. Birölçülü və ikiölçülü cərgələr təyin edilib. Çərgə elan etmək üçün aşağıdakı sintaksisdən istifadə olunur:

Cərgələrə aid proqram nümunələrinə baxaq:

Aşağıdakı nümunədə tam tipdən 5 elementi olan x cərgəsi elan olunur. x cərgəsinin elementlərin müxtəlif qiymətlər mənimsədilir. Onların cəmi hesablanır və cap olunur.

int x[5], cem;
 
// cergenin lementlerine muxtelif
// qiymetler menimsedek
x[1] = 17;
x[2] = 389;
x[3] = 224;
x[4] = 1296;
x[5] = 2015;
    
cem = x[1] + x[2] + x[3] + x[4] + x[5];
    
xaricet("x cergesinin elementlerinin cemi = ", cem, "\y");

Əgər bu kodu icra eləsək aşağıdakı nəticəni verər:

x cergesinin elementlerinin cemi = 3941

Aşağıdakı kod tam tipdən 10 elementli s cərgəsi elan edir. Onun elementlərinə 970 –dən 980-ə qədər qiymətlər mənimsədir və onları çap edir.
tam s[10], k;
    
say (k 1 10)
   s[k] = 970 + k;

xaricet("s cergesinin elementleri: \y");
    
say (k 1 10)
  xaricet(s[k], " ");

Əgər bu kodu icra eləsək aşağıdakı nəticəni verər:

s cergesinin elementleri:
971 972 973 974 975 976 977 978 979 980

Aşağıdakı kod tam tipdən 10 elementli x cərgəsinin ən böyük elementini müəyyən edir.

tam x[10], k, enb;
    
xaricet("x cergesinin elementlerini daxil edin. \y");
     
say (k 1 10){
   xaricet("x[", k, "] = ");
   daxilet(x[k]);
}
      
enb = x[1];     
    
say (k 1 10)
  eger (x[k] > enb)
    enb = x[k];

xaricet("x cergesinin en boyuk elementi: ");
xaricet(enb, "\y");
Əgər bu kodu icra eləsək aşağıdakı nəticəni verər:

x cergesinin elementlerini daxil edin.
x[1] = 12
x[2] = 34
x[3] = 5
x[4] = 67
x[5] = 8
x[6] = 234
x[7] = 8
x[8] = 9
x[9] = 90
x[10] = 33
x cergesinin en boyuk elementi: 234

Ikiölçülü cərgələr


Əsrin dilində ikiölçülü cərgələr də təyin olunub. Aşağıdakı kod ikiölçülü cərgənin elementlərini sətirlər üzrə artan istiqamətdə nizamlayır.
tam x[5][5],k,j,i, mvq, set, sut;
    
xaricet("cergenin elementlerini daxil edin(25 eded). \y");
    
say (k 1 5)
  say (j 1 5)
    daxilet(x[k][j]);
      
mvq = x[1][1];

say (k 1 5)
  say (j 1 5)
    say(i 1 5)
      eger (x[k][i] > x[k][j]){
        mvq = x[k][j];
        x[k][j]= x[k][i];
        x[k][i] = mvq;
      }
      
xaricet("cergenin elementleri setirler uzre artan \y");
xaricet("istiqametde nizamlanmish halda: \y");    

say (k 1 5){
  say (j 1 5)
    xaricet(x[k][j], " ");
  xaricet("\y");
}
Əgər bu kodu icra eləsək aşağıdakı nəticəni verər:
cergenin elementlerini daxil edin(25 eded).
1 3 0 2 4
3 5 2 9 7
2 6 4 9 8
1 2 0 4 7
2 7 3 8 6
cergenin elementleri setirler uzre artan
istiqametde nizamlanmish halda:
0 1 2 3 4
2 3 5 7 9
2 4 6 8 9
0 1 2 4 7
2 3 6 7 8