dizi işlemleri

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mertcenk
Üye
Mesajlar: 71
Kayıt: 03 Tem 2003 05:46

dizi işlemleri

Mesaj gönderen mertcenk »

Merhaba...

Diziler hakkında bi kaç sorum olacak.

Şimdi dizi tanımladım eleman sayısını biliyorum. Yapmak istediğim şu;

diyelim bi matematiksel işlem yapacağım..dizini her birine uygulamak...

mesela dizinin elemanlarını toplamak, çarpmak, karekök lerini almak..vs işlemler dizinin her elemanına bu işlemi uygulamak..elemanları toplamak falan gibi...

çok basit bir soru ama takıldım işte...


teşekkürler
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
dizinin eleman sayısını biliyorsun madem
for döngüsünü kullan.
tüm elemanları sıra ile bu döngüden geçir.

Kod: Tümünü seç

var
dizi:array[1..5] of integer;
var
i:byte;
begin
//diziye ilk değer atıyoruz
dizi[1]:=591;
dizi[2]:=862;
..
dizi[5]:=48;
//bu işlemi döngü ile daha kolya yapabiliriz.
//şöyleki;
randomize;
for i:=1 to 5 do
   dizi[i]:=random(1000);
   //dizinin i inci elemanına değer aktarıyoruz.
//dizideki eleman sayısının arttığını düşünürsek ikinci yöntem daha uygun
//tabi diziye verilen ilk değer önemli değilse. 
//dizideki ilk değerleri 0 (dıfır) da yapmak isteyebilirsin budurumda döngüde ufak bir değişiklik ile
dizi[i]:=0;
//atamasını yapmalısın.
döngüde dizi ile işlem yapmak için

Kod: Tümünü seç

for i:= 1 to 50 do
begin
  toplam:=toplam+dizi[i];
end;
gibisinden kullanabilirsin
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
mertcenk
Üye
Mesajlar: 71
Kayıt: 03 Tem 2003 05:46

bu işlem dogrumu

Mesaj gönderen mertcenk »

for i:=1 to eleman do
begin
toplam:=toplam+ dizi;
edit3.text:=inttostr(toplam);
end;


bu kod sacmalıyor...bir yerde hatam var ama anlamadım..

toplama bi bakıyorum...başlangıç degeri 18 bi bakıyorum 27 dizide belirlediği eleman sayısına gore sacma degerler ortaya çıkıyor...bu nasıl iş anlamadım ?

bu çok basit işlemi beceremedim gitti..

Yardımcı olacaklara Teşk.
mertcenk
Üye
Mesajlar: 71
Kayıt: 03 Tem 2003 05:46

hallettim sorun yok

Mesaj gönderen mertcenk »

çok özür.....hallettim.. i değil i-1 yapmam gerekiyor du :)
Cevapla