Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

ALGORİTMALAR ve

PROGRAMLAMA
Dr. Öğr. Üyesi Durmuş ÖZDEMİR
E-Posta: durmus.ozdemir@dpu.edu.tr

″ÇOK BOYUTLU DİZİLER″


ÇOK BOYUTLU DİZİLER
➢ Matris işlemleri ve çok boyutlu veri gösterimi için kullanılır.

veri_türü [ ] [ ] dizininAdi= new veri_turu [satır say] [sütun say]

int [ ] [ ] iki boyutlu dizi = new int [3] [5];


String [ ] [ ] isimler = new String [4] [2];
ÇOK BOYUTLU DİZİLER

veri_türü [ ] [ ] matris = new veri_turu [3] [3];

matris [0] [0] matris [0] [1] matris [0] [2]


matris [1] [0] matris [1] [1] matris [1] [2]
matris [2] [0] matris [2] [1] matris [2] [2]
ÇOK BOYUTLU DİZİLER
➢ Matris işlemleri ve çok boyutlu veri gösterimi için kullanılır.
➢ 2 boyutlu bir dizinin gösterimi aşağıdaki şekilde olur.

veri_türü [ ] [ ] matris = new veri_turu [4] [4]

➢Bu matris 4 X 4 matris şeklinde bir çok boyutlu dizi örnek olarak
gösterilmiştir.

➢Bu durumda tek boyutlu dizilerdeki tek indis yerine birden


fazla boyutlu indis vardır.
ÇOK BOYUTLU DİZİLER
➢ Birden fazla boyutta indisten dolayı, bir veri elemanına
ulaşmak için her boyutundaki indisi tespit etmek ve bunları
birlikte kullanmak gerekir.

➢Örnek :

int [ ] [ ] tablo = new int [10] [20];


tablo [3] [5] = 23;

➢ Çok boyutlu diziler aslında her boyut içinde yer alan birer
boyutlu dizilerin birleşkesidir.
ÇOK BOYUTLU DİZİLER
➢ Tüm dizinin uzunluğu (büyüklüğü) herboyuttaki dizilerin
uzunluğunun çarpımına eşittir.

➢Örnek:
int [ ] [ ] tablo = new int [10] [20];
tablo [3] [5] = 23;
System.out.println (″Tablo çok boyutlu dizinin uzunluğu: ″+
tablo.length);
import java.util.*;

public class KisiDizisi Sizce ne


{ yapar?
public static void main (String [] args)
{ // tanımlama satırı
int [] [] matris = new int [4] [4];
for (sira = 0; sira < 4; sira++)
for (sutun = 0; sutun <4; sutun++)
matris [sira] [sutun] = (int) (Math.random() * 5)+1;

for (sira = 0; sira < 4; sira++)


{
for (sutun = 0; sutun <4; sutun++)
System.out.print (matris[sira][sutun] + ″ ″);
System.out.println ();
}}}
UYGULAYINIZ (Her bir i, j ve t değerlerinin her bir aşamada aldığı
değerleri dizide tutarak bir tablo ile gösteriniz ve moodle’a yükleyiniz )
…..
{
for (i=0; i<=2;i++)
{
for(j=0; j<=2;j++)
{
t += j;
}
}
}
UYGULAYINIZ (Her bir i, j ve t değerlerinin her bir aşamada hangi
değerleri aldığını dizide tutarak bir tablo ile gösteriniz ve moodle’a
yükleyiniz )
…..
{
for (i=0; i<=2;i++)
{
for(j=0; j<=3;j++)
{
for(k=0; k<=7;k++)
t = t +j*k;
}
}
}
UYGULAYINIZ
Bir araba firmasının ürettiği A, B ve C modellerinin binek, station ve
hatcback tipleri bulunmaktadır. Ayrıca her model ve tipin kırmızı, beyaz ve
mavi modelleride bulunmaktadır.

Bu yapı için uygun bir dizi tanımlayarak her bir model, tip ve renge ait 0-10
arasında rastgele adet miktarı üreterek en yüksek adete sahip arabanın
modelini, tipini ve rengini ekrana yazdırınız.

İpucu: Bu örnekte model, tip ve renk olmak üzere toplam 9 çeşit araba
vardır. Üç boyutlu ve her bir boyutu 3 elemanlı Araba isminde dizi
tanımlarayak araba çeşitlerini hafızada tutmaya çalışın.
Dizi üç boyutlu olduğu için iç içe kaç for gerekir !!!
UYGULAYINIZ
Elemanları dışarıdan girilen nxn iki matrisin eşit olup olmadığını bulunuz.

İpucu:
Matrislerin eşit olmaları için öncelikle aynı boyutta ve sırasında karşılıklı
tüm elemanlarının da (aij = bij) aynı değere sahip olmaları gerekmektedir.

Matris elemanlarından karşılıklı olarak eşit olmayan bir tene bulduğumuzda


sözkonusu iki matris eşit değildir.

You might also like