C\C++ if\for döngüsü hata nerde?

eylem_www
10-10-2009, 11:15   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Nis 2009

ben bir program yazmaya çalışıyorum amacım önce ekranın sağ üst köşesinde bir kutu oluşturmak daha sonra bu kutu aşağı köşeye sağa ve sola gidecek böyle bir animasyon gibi olacak.
şimdi bir döngü yazdım şöyle ki;
   (i=0;i<600;i++){for(j=0;j<600;j++){if(0<i<200 && 0<j<200)

for

printf("*");}

}

ama kodun if kısmı çalışmıyor.Neden anlamadım?yardım eder misiniz?

 

&#12288;

Mustafa Akın
10-10-2009, 13:45   |  #2  
Mustafa Akın avatarı
Yıllanmış Üye
Teşekkür Sayısı: 0
3,236 mesaj
Kayıt Tarihi:Kayıt: Ağu 2006

Çünkü bildiğim kadarıyla bir ifadede 2 tane eşitsizlik kullanamazsıni onları da && ile ayırman gerek;
0<i<200 && 0<j<200


Onun yerine

(i>0) && (i<200) && (j>0) && (j<200) diye.

eolos
10-10-2009, 14:10   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
2,036 mesaj
Kayıt Tarihi:Kayıt: May 2006

bunu silverlight yada wpf ile yap daha kolay olur kod yazmanda gerekmez buton ekle butona basınca animasyon başlasın.

Mustafa Akın
10-10-2009, 20:33   |  #4  
Mustafa Akın avatarı
Yıllanmış Üye
Teşekkür Sayısı: 0
3,236 mesaj
Kayıt Tarihi:Kayıt: Ağu 2006

Ve kodun başka kısmı da vardır herhalde, bu kod sadece belli bi sayıda * koyar o kadar. IF kısmındaki sorun dediğim gibi aynı şeyi yazamazsın öyle galiba.

seandillon
11-10-2009, 00:30   |  #5  
Üye
Teşekkür Sayısı: 0
56 mesaj
Kayıt Tarihi:Kayıt: May 2005

Sanırım if içindeki yerleri && haricini ayrı bir parantez işareti ile ayırman lazım çünkü onlar farklı eşitlik sorgulaması...

if(0<i<200 && 0<j<200)

bunu şu sekilde yazman gerekiyor 

if((0<i<200) && (0<j<200))

Son Düzenleme: seandillon ~ 11 Ekim 2009 00:33
impossibleisnothing
15-10-2009, 21:36   |  #6  
Üye
Teşekkür Sayısı: 0
55 mesaj
Kayıt Tarihi:Kayıt: Eki 2009

0<i<200   ve 0<j<200 ifadelerini incelersek, yazmak istemediğin sonuca ulaşacaksın. < operatörü soldan sağa tek tek işlem yapar. 0<i ifadesinin sonucunu 0 ya da 1 olarak belirler ve sonra sonuç olan 0 ya da 1le 200ü karşılaştırır. Mesela i, 500 olsun. 0<500  , 1 sonucunu verir. 1<200 yine 1 sonucunu verir. Ama bizim yazmak istediğimiz durum için (0<500<200) 0 çıkması gerekiyordu. Bilmem anlatabildim mi?

eylem_www
17-10-2009, 16:22   |  #7  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Nis 2009

Hmm anladm sanırım ayrı ayrı yazdım calıstı ya benm bunu c de yapmam gerekiyor da o yuzden baska program kullanamıyorum.