Array
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 113
- Kayıt: 20 Eyl 2010 07:42
Array
Merhaba Arkadaslar.Mesela ben su rakamlari (1,2,3,4,5,6,7) random ile , array icerisine nasil dahil ede bilerim.Orn: myArray[5,1,7,2,6,3,4].Onceden tesekkurler.
Re: Array
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
dizim:ARRAY of integer;
i:integer;
begin
setlength(dizim,10); //arrayın boyunu 10 yap
for i:= 0 to 9 do begin
dizim[i]:=random(100); // 100 e kadar bir sayı rastgele
memo1.Lines.Add(inttostr(dizim[i]));
end;
end;
-
- Üye
- Mesajlar: 113
- Kayıt: 20 Eyl 2010 07:42
Re: Array
Kardes ben istiyorum ki memo icerisinde ayni rakamdan 1 tane olsun,ayni rakamdan 2 tane ve cok olmasin.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Array
Başka bir memo içine sırayla tüm sayıları ekleyin ve tüm bu rakamlar arasından rasgele sayılar çekin.
Kod: Tümünü seç
Randomize;
MemoSayilar.Clear;
Adet:=20;
for i:=1 to Adet do MemoSayilar.Lines.Add(IntToStr(i));
MemoKarisik.Lines.Clear;
for i:=1 to Adet do begin
j:=Random(MemoSayilar.Lines.Count);
MemoKarisik.Lines.Add(MemoSayilar.Lines[j]);
MemoSayilar.Lines.Delete(j);
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Array
Sanırım bu örnekte ufak bir hata var. Random sonunucunda aynı değer bir daha dönerse problem olur.sabanakman yazdı:Başka bir memo içine sırayla tüm sayıları ekleyin ve tüm bu rakamlar arasından rasgele sayılar çekin.Kod: Tümünü seç
Randomize; MemoSayilar.Clear; Adet:=20; for i:=1 to Adet do MemoSayilar.Lines.Add(IntToStr(i)); MemoKarisik.Lines.Clear; for i:=1 to Adet do begin j:=Random(MemoSayilar.Lines.Count); MemoKarisik.Lines.Add(MemoSayilar.Lines[j]); MemoSayilar.Lines.Delete(j); end;
There's no place like 127.0.0.1
Re: Array
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
const
Sayilar = '1234567';
var
i, ln: integer;
s: string;
begin
Randomize;
Memo1.Clear;
ln := Length(Sayilar);
while Memo1.Lines.Count <> ln do
begin
s := Sayilar[Random(ln)+1];
if Memo1.Lines.IndexOf(s) = -1 then
Memo1.Lines.Add(s);
end;
end;
There's no place like 127.0.0.1
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Array
Seçilen sayı MemoSayilar.Lines.Delete(j); koduyla listeden silindiği için her sayı bir kere seçilmektedir, sanırım gözden kaçtı ama çok önemli bir detaySimaWB yazdı:Sanırım bu örnekte ufak bir hata var. Random sonunucunda aynı değer bir daha dönerse problem olur.

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Array
Evet haklısınız, kusura bakmayın...sabanakman yazdı:Seçilen sayı MemoSayilar.Lines.Delete(j); koduyla listeden silindiği için her sayı bir kere seçilmektedir, sanırım gözden kaçtı ama çok önemli bir detaySimaWB yazdı:Sanırım bu örnekte ufak bir hata var. Random sonunucunda aynı değer bir daha dönerse problem olur..
There's no place like 127.0.0.1