İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

For ile ilgili yardım

NeverTellLie11.06.201718 cevap1.821 görüntüleme
#1
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?
Cevaplar
#2

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 ?
#3
İ<=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 Konuyu açan
#4
eronis dedi: ↑

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 ---
eronis dedi: ↑
Hangi kitap bu arada ?
C Programlamanın Temelleri
Timur KARAÇAY
#5
İ<5 ?
#6
Araya if şartı ile 5 i ayırtman lazım
NeverTellLie Konuyu açan
#7
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
#8
Hangi sayı aralığını aldırmak istiyorsun
NeverTellLie Konuyu açan
#9
0 ile sonsuz arası ama 5 olmayacak
#10
Sıfır sonsuz arası sonsuz döngüye girer ne işe yarayacak o
#11
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ı
#12
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.
#13
İf((i<5) || (i>5))
printf("%d\n",i);

Yazarsan for içine olur
#14
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.
#15
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 Konuyu açan
#16
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.
#17
Break değlde continue olur.

Break döngüyü bitirir.

Continue başa döndürüp devam eder
NeverTellLie Konuyu açan
#18
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ş
#19
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.