4 ayrı değişkene 4 ayrı rakam :S

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
DraGonS
Üye
Mesajlar: 27
Kayıt: 14 Haz 2005 12:10

4 ayrı değişkene 4 ayrı rakam :S

Mesaj gönderen DraGonS »

Arkadaşlar

x,y,z,t:integer;

ama bu x y z ve t ye her seferinde 0,1,2,3,4,5,6,7,8,9 rakamlarından kafadan herhangi birini bunlara atamam lazım. Ancak x y z t birbirlerinden farklı olmalılar........

Kod: Tümünü seç

randomize;
x:=random(10);

  while true do
    begin
    y:=random(10);
    if not x=y then Break;
    end;

  while true do
    begin
    z:=random(10);
    if not (x=z) and (y=z) then Break;
    end;

  while true do
    begin
    t:=random(10);
    if not (x=t) and (y=t) and (z=t) then Break;
    end;

bu sorunu nasıl aşacam bu kodu yazdım ama bi sorun var döngüden hiç çıkmıyor :S anlamadım gitti yardımlarınızı bekliyorum teşekkürler..
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Döngüden çıkma koşulların yanlış.

Kod: Tümünü seç

randomize;
x:=random(10);

  while true do
    begin
    y:=random(10);
    if x <> y then Break;
    end;

  while true do
    begin
    z:=random(10);
    if (x <> z) and (y <> z) then Break;
    end;

  while true do
    begin
    t:=random(10);
    if (x <> t) and (y <> t) and (z <> t) then Break;
    end;

Kod: Tümünü seç

if not (x = y) and (z = y) then...
gibi bir kullanım seni hataya sürükler çünkü o not sadece x = y koşulunu etkiler. Tamamı için kullanmak istiyorsan parantez içine almalısın .
not ((x = y) and (z = y)) gibi...
DraGonS
Üye
Mesajlar: 27
Kayıt: 14 Haz 2005 12:10

Mesaj gönderen DraGonS »

çok teşekkür ederim yaptığın işlem şimdi programımı çalıştırıyor. Yalnız anlamadığım nokta var if not niye yanlış :S :S :S


Ayrıca

<> ile >< bu iki eşitlik türünün anlamı nedir nasıldır nasıl kullanılır bi açıklarsan sevinirim..


Teşekkürler...
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

(a = b) --> a, b'ye eşit midir diye sormak demekken; (a <> b) ise a, b'den farklı mıdır diye sormaktır.

not kullamında benim bahsettiğim sorun senin yapmak istediğinle alakalı.

Kod: Tümünü seç

if not (x=z) and (y=z) then Break; 
yukarıdaki kodu delphi şöyle yorumlar:

x, z'ye eşit olmayacak ve y, z'ye eşit olacak.

çünkü not kelimesi sadece x=z koşulunu etkiliyor.

Senin yazman gereken koşul ise:


Kod: Tümünü seç

if not (x=z) and (y=z) ... 
// x,z'ye eşit olmayacak ve y,z'ye eşit olmayacak.
ya da

Kod: Tümünü seç

if (x<>z) and (y<>z) ... 
// x,z'den farklı olacak ve y,z'den farklı olacak.
DraGonS
Üye
Mesajlar: 27
Kayıt: 14 Haz 2005 12:10

Mesaj gönderen DraGonS »

çok teşekkür ederim..
Cevapla