For ile ilgili yardım

Bu konuyu okuyanlar

NeverTellLie

Öğrenci
Katılım
14 Nisan 2017
Mesajlar
56
Reaksiyon puanı
2
Puanları
8
Yaş
28
Selamlar kitapta çözülmüş soru örneklerini çözmeye çalışıyordum şöyle bir soru denk geldi fgjhfdgjhd.png 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?
 

eronis

Müdavim
Emektar
Katılım
25 Mart 2016
Mesajlar
5,389
Reaksiyon puanı
4,382
Puanları
113
Kod:
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 ?
 

Murat ince

Öğrenci
Katılım
18 Ocak 2017
Mesajlar
31
Reaksiyon puanı
13
Puanları
8
Yaş
42
İ<=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
 

NeverTellLie

Öğrenci
Katılım
14 Nisan 2017
Mesajlar
56
Reaksiyon puanı
2
Puanları
8
Yaş
28
Kod:
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
 

NeverTellLie

Öğrenci
Katılım
14 Nisan 2017
Mesajlar
56
Reaksiyon puanı
2
Puanları
8
Yaş
28
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
 

Murat ince

Öğrenci
Katılım
18 Ocak 2017
Mesajlar
31
Reaksiyon puanı
13
Puanları
8
Yaş
42
Sıfır sonsuz arası sonsuz döngüye girer ne işe yarayacak o
 

lebib

Asistan
Katılım
24 Mart 2016
Mesajlar
278
Reaksiyon puanı
56
Puanları
28
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ı
 

Ben Kenobi

Müdavim
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
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.
 

Murat ince

Öğrenci
Katılım
18 Ocak 2017
Mesajlar
31
Reaksiyon puanı
13
Puanları
8
Yaş
42
İf((i<5) || (i>5))
printf("%d\n",i);

Yazarsan for içine olur
 

Murat ince

Öğrenci
Katılım
18 Ocak 2017
Mesajlar
31
Reaksiyon puanı
13
Puanları
8
Yaş
42
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.
 

lebib

Asistan
Katılım
24 Mart 2016
Mesajlar
278
Reaksiyon puanı
56
Puanları
28
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
 

NeverTellLie

Öğrenci
Katılım
14 Nisan 2017
Mesajlar
56
Reaksiyon puanı
2
Puanları
8
Yaş
28
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.
 

Murat ince

Öğrenci
Katılım
18 Ocak 2017
Mesajlar
31
Reaksiyon puanı
13
Puanları
8
Yaş
42
Break değlde continue olur.

Break döngüyü bitirir.

Continue başa döndürüp devam eder
 

NeverTellLie

Öğrenci
Katılım
14 Nisan 2017
Mesajlar
56
Reaksiyon puanı
2
Puanları
8
Yaş
28
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ş
 

Murat ince

Öğrenci
Katılım
18 Ocak 2017
Mesajlar
31
Reaksiyon puanı
13
Puanları
8
Yaş
42
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
 
Üst