N
14.04.2017Katılım
56Mesaj
2Tepki puanı
Selamlar kitapta çözülmüş soru örneklerini çözmeye çalışıyordum şöyle bir soru denk geldi

yani case 1 2 3 diye gidiyordu ama benim anlamadığım kısım bu olduğu için bunu yazdım sadece ben bu programın çıktısını şöyle düşündüm:i=0 olur,birer birer artar 5 hariç tüm tam sayıları kapsayan bir döngü oluşur.Ancak programı yazdığımda 0 1 2 3 4'ün çıktığını gördüm neden böyle oldu peki?Kaçırdığım bir nokta mı var acaba?
Cevaplar
E
25.03.2016Katılım
5.389Mesaj
4.382Tepki puanı
int i=1;
for (i=1;(i!=4);i++)
--- Gönderi Güncellendi ---Şeklinde düzeltsen ?
--- Gönderi Güncellendi ---Bu arada neden locale kütüphanesini yazdın ?
--- Gönderi Güncellendi ---Bir saat uygulaması mı yazımaya çalışıyorsun ?
--- Gönderi Güncellendi ---Ben de biraz amatörüm ama birlikte fikir yürütebiliriz bence :D Sanırım sen demişsin ki i, 0'a eşit olabilir ve i 5 değildir, bu kurala göre i'yi artır.
--- Gönderi Güncellendi ---Hangi kitap bu arada ?
18.01.2017Katılım
31Mesaj
13Tepki puanı
İ<=5 dersen
0 1 2 3 4 5 çıkar
İ=1 dersen
1 2 3 4 5
İlk yazdığım kurala göre değiştirirsen çıktılar böyle olur
N
14.04.2017Katılım
56Mesaj
2Tepki puanı
int i=1;
for (i=1;(i!=4);i++)
--- Gönderi Güncellendi ---Şeklinde düzeltsen ?
--- Gönderi Güncellendi ---Bu arada neden locale kütüphanesini yazdın ?
--- Gönderi Güncellendi ---Bir saat uygulaması mı yazımaya çalışıyorsun ?
--- Gönderi Güncellendi ---Ben de biraz amatörüm ama birlikte fikir yürütebiliriz bence :D Sanırım sen demişsin ki i, 0'a eşit olabilir ve i 5 değildir, bu kurala göre i'yi artır.
--- Gönderi Güncellendi ---Hangi kitap bu arada ?
El alışkanlığı ile yazmışım herhalde locale kütüphanesini türkçe çıktı alabilmek için kullanıyorum da alışkanlık işte:D:D.Şey sanırım ben yanlış anlattım anlamadığım noktayı.Demeye çalıştığım şey şu hani şimdi birer birer artacak i değişkeni 0 1 2 3 4 olacak 5 olmayacak bu kodu bilgisayarda çalıştırdığımda 0 1 2 3 4 çıktısı çıktı ancak ben şöyle bir şey bekliyordum 0 1 2 3 4 6 7... yani 5 dışındaki tüm tam sayılar.Ama beklediğim gibi çıkmadı ben de bunun sebebini öğrenmeye çalışıyorum
--- Gönderi Güncellendi ---Hangi kitap bu arada ?
C Programlamanın Temelleri
Timur KARAÇAY
E
25.03.2016Katılım
5.389Mesaj
4.382Tepki puanı
İ<5 ?
18.01.2017Katılım
31Mesaj
13Tepki puanı
Araya if şartı ile 5 i ayırtman lazım
N
14.04.2017Katılım
56Mesaj
2Tepki puanı
Arkadaşlar i!=5 dediğimizde zaten 5'i ayırmış oluyoruz
--- Gönderi Güncellendi ---
Ben diyorum ki şimdi i !=5 dediğimizde 5 sayısı çıktımıza yansımayacak bunu anladım.Ancak neden 5'ten sonraki sayılar da çıktıya yansımıyor?Benim sormak istediğim soru bu
18.01.2017Katılım
31Mesaj
13Tepki puanı
Hangi sayı aralığını aldırmak istiyorsun
N
14.04.2017Katılım
56Mesaj
2Tepki puanı
0 ile sonsuz arası ama 5 olmayacak
18.01.2017Katılım
31Mesaj
13Tepki puanı
Sıfır sonsuz arası sonsuz döngüye girer ne işe yarayacak o
L
24.03.2016Katılım
277Mesaj
55Tepki puanı
E ora da beş eşit olmayana kadar yazdın 5 e eşit olmayacak şekilde bir bir artırıp gidiyor ve döngü tamamlanıyor. Oraya i = 100 yazsaydın yüze kadar bir döngüyle ekrana yüze kadar yazdıracaktı
B
06.11.2011Katılım
7.329Mesaj
3.156Tepki puanı
döngü şartı sağlamadığı anda döngüden çıkar aksi halde bütün döngüler sonsuza kadar çalışıyor olurdu, kara delik gibi bir giren bir daha çıkamazdı.
senin verdiğin örnek ancak kullanıcı herhangi bir tuşa basana kadar, sonsuza kadar 5 hariç sayıları art arta yazdır şeklinde düzenlenebilir.
ki öyle bile olmaz çünkü int değerinin sınırı vardır, bu sınırı 32 bit'in max değeri belirler ama kullanıcının o kadar beklemeyeceğini varsayarsan veya max limiti kontrol edersen olur.
yine de şu anki bilginle yapamazsın çünkü interrupt ve event bilgisi gerekir.
18.01.2017Katılım
31Mesaj
13Tepki puanı
İf((i<5) || (i>5))
printf("%d\n",i);
Yazarsan for içine olur
18.01.2017Katılım
31Mesaj
13Tepki puanı
Ama sonsuza kadar olmaz. Ya değer belirteceksin yada Ben Kenobi nin dediği gibi bir tuşa basana kadar diye şartı değiştireceksin.
L
24.03.2016Katılım
277Mesaj
55Tepki puanı
0 ile sonsuz arası ama 5 olmayacak
for (int i = 0; i <= 100;i++)
{
if (i != 5)
{
Console.WriteLine(i);
}
}
Console.ReadLine();
C# şöyle bir kodla istediğine yakın bir şeyi böyle alıyorum C de nasıl olur bilmem ama for un içine yine if komutları girip yapabilirsin. Sonsuz değer olmaz tabiki ama int in alabileceği en büyük değer 2,147,483,647 bunu yazarsan en büyük değere kadar sayar
N
14.04.2017Katılım
56Mesaj
2Tepki puanı
döngü şartı sağlamadığı anda döngüden çıkar aksi halde bütün döngüler sonsuza kadar çalışıyor olurdu, kara delik gibi bir giren bir daha çıkamazdı.
senin verdiğin örnek ancak kullanıcı herhangi bir tuşa basana kadar, sonsuza kadar 5 hariç sayıları art arta yazdır şeklinde düzenlenebilir.
ki öyle bile olmaz çünkü int değerinin sınırı vardır, bu sınırı 32 bit'in max değeri belirler ama kullanıcının o kadar beklemeyeceğini varsayarsan veya max limiti kontrol edersen olur.
yine de şu anki bilginle yapamazsın çünkü interrupt ve event bilgisi gerekir.
Aradığım cevap buydu hocam:):) Sanırım biraz saçma düşünmüşüm çünkü dediğiniz gibi olması gerekir i birer birer artıyor i 5 olamıyor dolayısıyla 5 değerini alamadığından oradaki döngüden çıkacak ve çıktımıza 0 1 2 3 4 yansıyacak.Peki hocam buradaki i !=5'in yaptığı işi break ile de yapabilir miydik?Sonuçta 5 değerini alınca döngüyü kesiyoruz.
18.01.2017Katılım
31Mesaj
13Tepki puanı
Break değlde continue olur.
Break döngüyü bitirir.
Continue başa döndürüp devam eder
N
14.04.2017Katılım
56Mesaj
2Tepki puanı
Break değlde continue olur.
Break döngüyü bitirir.
Continue başa döndürüp devam eder
Döngü i=5 değeri aldığında bitiyor zaten.O yüzden break olur diye düşündüm.Continue olsaydı eğer çıktının şu şekil olması gerekirdi:0 1 2 3 4 6... ama çıktı 0 1 2 3 4 şeklinde yani i=5 olduğunda döngü kesilmiş
18.01.2017Katılım
31Mesaj
13Tepki puanı
Döngü i=5 değeri aldığında bitiyor zaten.O yüzden break olur diye düşündüm.Continue olsaydı eğer çıktının şu şekil olması gerekirdi:0 1 2 3 4 6... ama çıktı 0 1 2 3 4 şeklinde yani i=5 olduğunda döngü kesilmiş
Sen 5 hariç yazmaya devam etmesini istemiyor musun
Cevabını yaz
Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.