Arama butonu
Bu konudaki kullanıcılar: 1 misafir
10
Cevap
329
Tıklama
0
Öne Çıkarma
C Programlama Sorunu
L
14 yıl (2317 mesaj)
Binbaşı
Konu Sahibi

#include <stdio.h> 
#include <conio.h>
int x, y, z, i;
main(){
printf("Bir Sayi Giriniz:");
scanf("%d", &x);
printf("Bir Sayi Daha Giriniz:");
scanf("%d", &y);
for(i=x; i<y; i++){
x+=i;


}
printf("%d ile %d arasinda olan sayilar %d", x,y,i);

getch();
return 0;
}

Burada girilen 2 sayı arasındaki sayıların toplamını bulmaya çalışıyorum ama nerede hata yaptığı bir türlü bulamadım.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi Look At Me -- 5 Temmuz 2012; 12:52:05 >

C
14 yıl (141 mesaj)
Teğmen

int toplam = 0;

Değişken olarak bunu eklersen ve döngüyü de;

for(i=x+1; i<y; i++)
{
toplam+=i;
}
printf("%d ile %d arasinda olan sayilar %d", x,y,toplam);

x değerini döngü içerisinde kullanırsan, for parantezindeki eşitlik sürekli bozulur ve i<y olan kısımda sorun çıkar. Farklı bir sonuç değişkeni kullanmak gerekiyor


Bu mesaja 1 cevap geldi.
E
14 yıl (583 mesaj)
Yüzbaşı

Başta tanımladığın int z değişkenini hiç kullanmamışsın. C# da debug etsen derleyicinin dead code elimination sistemine göre altı mavi çizili bir hata ile karşılaşırsın ki bu da o değişkenin hiç kullanılmadığını gösterir.
Toplam değerini tutmak için z değişkenini kullanabilirsin


Bu mesaja 1 cevap geldi.
L
14 yıl (2317 mesaj)
Binbaşı
Konu Sahibi

@_x_eagle_x_
Programa başlarken direk yazıyorum zaten x,y,z veya a,b,c diye kolaylık oluyor direk atıyorum oradan silmeyi unutmuşum.
@Cuhara
Hocam teşekkürler.


Bu mesaja 1 cevap geldi.
E
14 yıl (583 mesaj)
Yüzbaşı

Aman diyeyim Heap ve Stack belleği boşa yorma Ufak çaplı programlarda sıkıntı olmuyor da 2000-3000 satırlık programlarda kendinden geçiyor resmen yazılan program. Bizim programlama hocasının bir sözü vardı: Minimum Variable Maximum Memory diye


Bu mesaja 1 cevap geldi.
L
14 yıl (2317 mesaj)
Binbaşı
Konu Sahibi

Peki hocam for döngüsünün sonundaki i++ hiçbir işe yaramıyor mu?Hangi örnek programa baksan hep aynı işaret hiç değiştiği yok mu?


Bu mesaja 2 cevap geldi.
£
14 yıl (666 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: d.eray

Peki hocam for döngüsünün sonundaki i++ hiçbir işe yaramıyor mu?Hangi örnek programa baksan hep aynı işaret hiç değiştiği yok mu?


Tabii ki işe yarıyor. Örneğin,
for(x=0;x<10,x++) buradaki döngü, senin yapmak istediğin yere kadar x'i 0'dan 10 a kadar üretir.

main(){
...
...
x+=1 // bu tarz kullanım genelde while,do döngülerinde olur.
}



E
14 yıl (583 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: d.eray

Peki hocam for döngüsünün sonundaki i++ hiçbir işe yaramıyor mu?Hangi örnek programa baksan hep aynı işaret hiç değiştiği yok mu?


i++
i değişkeninin değerinin döngü içerisinde birer birer artmasına yarıyor. Oraya i+2 yazarsan ikişer olarak arttırırsın ya da başlangıç değerini 0 dan değilde 10dan başlatıp i'yi birer birer azaltarak da döndürebilirsin döngüyü: i=10;i<=0;,i-- gibi


Bu mesaja 1 cevap geldi.
£
14 yıl (666 mesaj)
Yüzbaşı

Ben C++ 'da yazdım senin yapmak istediğin programı. İncele C ye göre uydurursun

 
#include <iostream>
using namespace std;
main(){
int x,y,toplam=0;
cout << "Kucuk Sayiyi Girin : ";
cin >> x;
cout << "Buyuk Sayiyi Girin : ";
cin >> y;
while (x<=y){
toplam=toplam+x;
x++;
}
cout << "Girilen Degerler Arasindaki Sayilarin Toplami : " << toplam << endl;
system("PAUSE");
return 0;
}





< Bu mesaj bu kişi tarafından değiştirildi £XE -- 5 Temmuz 2012; 15:45:15 >
Bu mesaja 1 cevap geldi.
L
14 yıl (2317 mesaj)
Binbaşı
Konu Sahibi

Sağ olun hocam peki sondaki i'yi 2 artırarak yapsak arasındaki çift sayıları bulmuş oluyoruz değil mi?


Bu mesaja 1 cevap geldi.
E
14 yıl (583 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: d.eray

Sağ olun hocam peki sondaki i'yi 2 artırarak yapsak arasındaki çift sayıları bulmuş oluyoruz değil mi?

Aynen öyle



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.