Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
703
Tıklama
0
Öne Çıkarma
For döngüsü ile ilgili bir sorum var.
L
9 yıl
Binbaşı
Konu Sahibi

Merhaba, kullanıcıdan 3 sayı girmesini ve bunları büyükten küçüğe sıralamak isteyen bir program gördük derste. Kodda if(i==0) kısmıyla başlayan yeri anlayamadım. Bunun mantığı nedir, min değerin 0 çıkmasını nasıl düzeltiyor?

quote:

import acm.program.*;
public class example extends ConsoleProgram{
public void run(){
int max=0;
int min=0;
for(int i=0;i<3;i++){
int n = readInt("? ");
if(i == 0){
min = n;
max = n;
}

if(max < n){
max = n;
}
if(n < min){
min = n;
}
}
println("max is "+max);
println("min is "+min);
}
}





< Bu mesaj bu kişi tarafından değiştirildi Leskodjer -- 17 Mart 2015; 1:07:43 >

S
9 yıl
Yarbay

Anladığım kadarıyla şöyle çalışıyor hocam . for 3 defa dönecek . Mesela degerlerimiz 2 3 4 olsun . i=0 durumu için n=2 olacak . i==0 oldugu için ilk başta , elindede başka n degeri olmadıgı için max ve mini n'ye atıyor . yani min = 2 max=2 . Aşağıdaki max<n ve min>n saglamadıgı için dönüyoruz . i=1 durumu için n=3 giriyorsun . i==0 durumu artık yok bunu en başta min max ı ilk girilen degere atamak için kullandık . neyse n=3 için i=1 durumunda max(2)<3 oluyor ve yenı max'ın 3 oluyor altındakı if sağlamadıgı için donuyorsun i=2 durumu için n=4 oluyor max<n durumu saglanıyor yenı max degeri 4 alttakı if'e girmiyordun min degerin ise ilk başta setlenen min degeri oluyor.


Birde ilk goruste çıkarım yapamıyorsan eline kagıt kalem alıp oyle gidersen daha iyi olur ve break pointler ile ilerleyerek program nasıl işliyor gorebilirsin .



Sana önemli bir uyarıda bulunayım , muhtemel haklısın falan diyip geçiştireceksin ama anlamadıgın yeri kesinlikle hocaya sor , asla çekinme





< Bu mesaj bu kişi tarafından değiştirildi senatorts -- 17 Mart 2015; 11:45:49 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.