C"De Girilen İki Sayı Arasındaki Sayıların Toplamı.
-
Arkadaşlar C'ye yeni başladım. Klavyeden girilen 2 sayı dahi aradaki tam sayıları da toplayıp ekrana yazacak C programını yazmaya çalıştım ama olmadı galiba. Kodlar bunlar;
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x, y, i;
int sum;
sum=0;
printf("Enter first number: \n");
scanf("%d, &x");
printf("Enter second number: \n");
scanf("%d, &y");
for (i=x;i<=y;i++){
sum=sum+i;
}
{
printf("The sum is: %d", sum);
}
system("PAUSE");
return 0;
}
Ama bunları yazıp derleyince aşağıdaki resimde gördüğünüz hatayı veriyor;
http://img140.imageshack.us/my.php?image=hatamesajipb6.png
Şimdi size sorum;
Ben nerde yanlış yaptım ve bu sorun nasıl düzeltilir? Bilenler bi el atsın lütfen.
-
bir sorun yok gibi geliyor cmd içersinden çalıştımayı denesene
-
kodda sorun yok zaten böyle basit bi konu için yazılan kod da ne sorunu olabilir 1. sayıyı gir 2. sayıyı gir for 1 den 2 ye kadar döndür her seferinde toplam a ekle sonucu ekrana yaz ..
sendeki sorun pc veya debugger la ilgili :S
+ C programını demişsin senin bu yazdığın (pardon copy/paste yaptığın ) kod parçacığı bi program değil sadece bi function hatta function bile değil .. anaaamm çokmu agrasif oldum ben .. kardeş kısaca kodda sorun yok sana tavsiyem algörütmayı öğren sonra delphi VB gibi dillerle başla programlamaya C sana ağır gelir ..
-
pardon agresif "abla" kodları yenıden gozden gecirirsen scanf kullanımındaki hatayı gorebılırsın ve c/p olduguna ınanmıyorum bellıkı TR'e cevrılmıs bır kıtap almıs arkadas ve örnekte goz yanılması ıle yanlıslıga ugrasmıs bunu bu derece eleştirmeye hak buluyorsan buda sana yeterli olur umarım!.
einstein1926 scanf("%d", &x) olacak ve sen bu çok biliyorum havasındakı gereksiz insalara bakma C kendilerine zor geldıgı ıcın herkese bunu zor olarak lanse etmeye calısırlar.Bence C ile baslaman cok guzel C i çok az derecede bile kavrasan php de oldukca rahat edersn tabiki web programlamaya karar verırsen....
-
c/p yaptım ama kendi yazdığım kodu c/p yaptım. Derleyiciden alıp tahribat'a.
-
sirhot bunu yazdı:
-----------------------------einstein1926 scanf("%d", &x) olacak
-----------------------------
Kardeş sağolasın ya. Tek sorun buymuş meğer. Daha yeni olduğumu en başta söylemiştim zaten. Böyle küçük hatalar gözden kaçıyor. Sağolun yorumlar için. -
sirhot
-
#include<stdio.h>
#include<conio.h>
int x,y,t,ts; ===> x: birinci sayı, y: ikinci sayı, ts: terim sayısı, t: toplam.
void main(){
clrscr();
printf("birinci sayıyı girin:");
scanf("%d",&x);
printf("ikinci sayıyı girin:");
scanf("%d",&y);
if (x>y){ts=x-y+1;}
else {ts=y-x+1;}
t=(x+y)*ts/2;
printf("%d ile %d sayıları arasındaki sayıların toplamı = %d",x,y,t);
getch();
}
demin yazdım bi kaç hata olabilir.
lisede öğretilmekte olan 2 sayı arasındaki sayıların toplam kuralı:
terim sayısı= [(son terim - ilk terim) / artış miktarı] + 1 dir.
toplam= [(son terim + ilk terim) * terim sayısı] / 2 dir.
-
aha o kadar satır kodun pythonla yazımı; :D
a=input('1. sayiyi gir la: ')
b=input('2. sayiyi gir la: ')
reduce(lambda x,y:x+y,range(a,b))
-
VisualBoy kardeş senin yaptığın çözümde doğrudur, ama C kitaplarında genelde bu örnek for döngülerini açıklamak için gösterildiğinden ve tabii ki formülü bilmeye gerek olmadığından. Genelde bu çözüm kullanılr.
-
cnr437 bunu yazdı:
-----------------------------aha o kadar satır kodun pythonla yazımı; :D
a=input('1. sayiyi gir la: ')
b=input('2. sayiyi gir la: ')
reduce(lambda x,y:x+y,range(a,b))
-----------------------------#!/usr/bin/python
a=raw_input("Birinci sayiyi giriniz..")
b=raw_input("Ikinci sayiyi giriniz..")
..
..
Python'u az çok biliyoruz hoca :) inputların başında "raw_"ları unutmuşsun :)