ÇOK BOYUTLU DİZİLER
programlamadilleri 1
- 3. hafta -
Araş. Gör. Nesibe YALÇIN
BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
2.
2
Diziler
― Dizi, aynıtip verilerin birbiri arkasına tanımlanmasıdır.
― Diziler sadece aynı veri türünden değişken değerleri
alabilir.
― Diziler kullanılarak, aynı isimle birden fazla değişkene
erişilebilir ve işlem yapılabilir.
― Diziler kullanılarak işlem sayısı azaltılır, zaman ve
karmaşıklıktan kazanç sağlanır.
5
Tek Boyutlu Diziler
inta[4] = {8, 22, -3, 49}; - int a[] = {8, 22, -3, 49};
char x[2] = {‘?’, ‘k’};
int b[5] = {1, 2, 3, 4, 5, 6}; //hatalı – eleman sayısı
float a[-6]={1.1,2.7,3.3,4.0}; //hatalı – negatif boyut
int a[2.2]={11,22,33,44,55,66}; //hatalı – boyut tam
sayı olmalı
6.
6
Çok Boyutlu Diziler
―Çokboyutlu dizileri, elemanları dizilerden oluşan
diziler olarak düşünebiliriz.
―Diziye eklenen her bir boyut için yine [] işaretleri
arasında bir sayı tanımlanmaktadır.
Değişken türü Dizinin ismi [ElemanSayısı] [ElemanSayısı] ….
Boyut_1 Boyut_2 Boyut …..
7.
7
Çok Boyutlu Diziler
İkiboyutlu diziler (matrisler):
Değişken türü Dizinin ismi [Satır Sayısı] [Sütun Sayısı]
int a[4][5]; float x[3][2]; double y[2][2];
Çok boyutlu diziler:
int a[4][3][5]; float x[2][1][3][2]; double y[2][2][2][2][2];
10
Çok Boyutlu Diziler
―İstertek boyutlu, ister çok boyutlu bir dizi içerisinde
bulunan elemanlar, birbiri ardına gelen bellek
hücrelerinde tutulur.
―İlk elemanın boyutunu yazmaya gerek yoktur.
―İlk boyut hariç diğer boyutların eleman sayısı
mutlaka yazılmalıdır.
11.
11
Çok Boyutlu Diziler
―nboyutlu bir diziyi fonksiyona parametre
göndermek;
void topla(int x[][3][2][2],int y[][4])
{
// işlemler
}
int main(){
topla(x,y); //fonksiyon çağırma
}
12.
12
Uygulama Örnekleri
#include <stdio.h>
#include<conio.h>
#define SAT 2
#define SUT 3
int main() {
int a[SAT][SUT]={5, 3, 7, 0, 1, 2};
int b[SAT][SUT]={1, 2, 3, 4, 5, 6};
int c[SAT][SUT];
int i, j;
puts("A Matrisi:");
for(i=0; i<SAT; i++){
for(j=0; j<SUT; j++)
printf("%4d",a[i][j]);
printf("n");
}
puts("B Matrisi:");
for(i=0; i<SAT; i++){
for(j=0; j<SUT; j++)
printf("%4d",b[i][j]);
printf("n");
}
puts("nC Matrisi:");
for(i=0; i<SAT; i++){
for(j=0; j<SUT; j++){
c[i][j] = a[i][j] + b[i][j];
printf("%4d",c[i][j]);
}
printf("n");
}
getch ();
}