Tweet

Ders-4 Diziler

Dizi tanımı Var bloğunda yapılmaktadır.Kullanım şekli aşağıda vereceğim şekildedir;

Var
Diziadı:array[altsınır..üstsınır]of tip

İki boyutlu dizi ise şöyledir;[...]

Diziadı:array[altsınır..üstsınır..üstsınır1,altsınır2..üstsınır2]of tip

Hemen bir örnek ile kullanımını gösterelim.

Var
a:array[1..50]of integer;

Üstte kullanımı anlatırken bahsettiğim of tip burada ] kapattıkan sonra of deyiminden sonra tip yani veri tipini yazıyoruz.
Burada kullandığımız veri tipi integer dır.İnteger 4 byte'lık işaretli tamsayı tipidir.
kısa bir bilgi eklemek gerekirse(-2147483647) ile 2147483647 arasında değer alabilmektedir.

Bu kısa bilgiyide verdikten sonra diğer aşamaya yani Dinamik Dizi Tanımlamaya geçelim.

DİNAMİK DİZİ TANIMLAMA

Boyutunun derleme aşamasında belirlenmesi gerekmeyen dizilere denir ve program çalışırken dizinin boyutu belirlenebilir.

Var diziadı:array of tip

Dizinin boyutu SetLenght fonksiyonu ile berlirlenir.

Setlenght(diziadı,boyutu);

Örnek:

Setlenght(i,12);//i dizisini12 elemanlı yap.

ÇOK BOYUTLU DİZİ KAVRAMI

Dizi birden fazla boyutta olabilir.Her boyut için tanım kısmında bir array oftip ifadesi kullanılır.

Var Diziadı:array of array of ...tip

3 boyutlu bir a dizisi tanımlarken ise;

Var a:aray of array of array of Integer gördüğünüz gibi boyuta göre array of kullandık.


Oguzz
oguz@thecoders.net
17 Temmuz 2007 17:10

İlgili Olabilecek Makaleler


Yorumlar (2)





aslanbey
20 Aralik 2009 14:51
Ben baska bir unit(formsuz) içinde 2 boyutlu matris kullanmak istiyorum. Ama bunu yaptığımda problem cıkıyor.Yardımcı olurmusunuz?


aslanbey
20 Aralik 2009 14:55
Bu kod kendi unitinde çalışmakta. Bu 2 matrisi carpıp 3. bir matrise yüklemektedir. Bu bölümü ilk planda baska bir unite daha sonrada dll içine atmak istiyorum

procedure TForm1.Button2Click(Sender: TObject);
var
i,j,k:integer;
t:real;
begin
for i:=0 to 2 do
begin
for j:=0 to 2 do
begin
t:=0;
for k:=0 to 2 do
t:=t+adizi[i,k]*bdizi[k,j];
cdizi[i,j]:=t;
end;
end;
ad:= '';
listbox1.Items.add(ad);
ad:= 'Matrisler Çarpıldı';
listbox1.Items.add(ad);
ad:= '';
listbox1.Items.add(ad);
end;

Ziyaretçi olarak yorum yazamazsınız. Üye olmak için tıklayın Üye iseniz giriş yapın.



MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg