Ne Yanlışı Yaptım
-
#include<stdio.h>
#include<math.h>
float sumx(float) ;
float sumy(float) ;
float sumxy(float) ;
float sumxsqr(float) ;
FILE*ip;
char*fname="c:\\point.txt";
int main(void)
{
float m,y,x,c,n,sxy,sx,sy,sq;
if((ip=fopen(fname,"r"))==NULL)
{printf("ErrOr\n");
return 1 ;
}
while(!feof(ip))
{
scanf(ip,"%d %d",&x,&y);
n=n+1;
}fclose(ip);
m=(n*sumxy(sxy)-sumx(sx)*sumy(sy))/(n*sumxsqr(sq)-sumx(sx)*sumx(sx));
x=sumx(sx)/n;
y=sumy(sy)/n;
c=y-m*x ;
printf("c=%d\n",c);
return 0;
}
float sumxy(float xy)
int x,y;
sxy=0;
ip=fopen(fname,"r");
while(!feof(ip))
{
fscanf(ip,"%d %d",&x,&y);
xy=xy+x*y;
}fclose(ip);
return (xy);
}
float sumx(float xt)
{
int x,y;
xt=0;
ip=fopen(fname,"r");
while(!feof(ip))
{
fscanf(ip,"%d %d",&x,&y);
xt=xt+x;
}fclose(ip);
return (xt);
}
float sumy(float yt)
{
int x,y;
yt=0;
ip=fopen(fname,"r");
while(!feof(ip))
{
fscanf(ip,"%d %d",&x,&y);
yt=yt+y;
}fclose(ip);
return (yt);
}
float sumxsqr(float xqt)
{int x,y;
xqt=0;
ip=fopen(fname,"r");
while(!feof(ip))
fscanf(ip,"%d %d",&x,&y);
xqt=xqt+x*x;
}fclose(ip);
return (xqt);
}
arkadaşlar program bu mantık olarak yanlış birşey yok ama syntax olarak hataları var ben bulamadım sizde bakarmısınız? -
Walla bilg. calisa bakardim :) cafeden giriyorum ama bu ne programi bana esintelnet tolls gibi bisey geldi yaniliyomuyum?
-
Degiskenlere, fonksiyonlara ve pointer"lara boyle abuk sabuk isimler verirsen programindan bir sey anlasilmayacagi icin kimse buna kafa yormaz.
Oncelikle okundugunda insana bir sey ifade eden isimler kullanmalisin.
Sonrasina gelince, hata gordugum yere not dustum ama kontrol falan yapmadim, syntax hatasi vermis demissin sen bir daha kontrol et.
#include<stdio.h>
#include<math.h>
float sumx(float) ;
float sumy(float) ;
float sumxy(float) ;
float sumxsqr(float) ;
FILE*ip;
char*fname="c:\\point.txt";
int main(void)
{
float m,y,x,c,n,sxy,sx,sy,sq;
if((ip=fopen(fname,"r"))==NULL)
{printf("ErrOr\n");
return 1 ;
}
while(!feof(ip))
{
scanf(ip,"%d %d",&x,&y);
n=n+1;
}fclose(ip);
m=(n*sumxy(sxy)-sumx(sx)*sumy(sy))/(n*sumxsqr(sq)-sumx(sx)*sumx(sx));
x=sumx(sx)/n;
y=sumy(sy)/n;
c=y-m*x ;
printf("c=%d\n",c);
return 0;
}
float sumxy(float xy)
/* Eger fonksiyon yaziyorsan parantezleri unutmussun, eger tanimladiysan noktali virgul"u unutmussun. Ikisinden birini yapmak zorundasin cunku bir ust satirda senin main fonksiyonun bitmis. Sen burada fonksiyon yazmak istedigine gore parantezleri unutmussun ve haliyle syntax hatasi vermesi normaldir. */
int x,y;
sxy=0;
ip=fopen(fname,"r");
while(!feof(ip))
{
fscanf(ip,"%d %d",&x,&y);
xy=xy+x*y;
}fclose(ip);
return (xy);
}
float sumx(float xt)
{
int x,y;
xt=0;
ip=fopen(fname,"r");
while(!feof(ip))
{
fscanf(ip,"%d %d",&x,&y);
xt=xt+x;
}fclose(ip);
return (xt);
}
float sumy(float yt)
{
int x,y;
yt=0;
ip=fopen(fname,"r");
while(!feof(ip))
{
fscanf(ip,"%d %d",&x,&y);
yt=yt+y;
}fclose(ip);
return (yt);
}
float sumxsqr(float xqt)
{int x,y;
xqt=0;
ip=fopen(fname,"r");
while(!feof(ip))
fscanf(ip,"%d %d",&x,&y);
xqt=xqt+x*x;
}fclose(ip);
return (xqt);
}
-
offf şimdi bunu kopyala aç çalıştır hatalara bak,sen kendin yazzan bize nerde ne hatası veriyo söliimm sana...
bide o kadar birbirine benzer variable ve fonksyon kullanmışsınki insanın sadece bakaran bişe anlaması imkansız yani...
sonuçta sytax hatasıysa allahın bi virgülü bi olabilir nerden anlayayım ki şimdi... -
derlemeden söylüyorum gördüğüm kadarını
1)FILE*ip;
char*fname="c:\\point.txt";
Bunları bitişik belirtme FILE *ip; char *fname gibi yaz.
2) scanf(ip,"%d %d",&x,&y); burda fscanf kullan.
3)c=y-m*x ; burda parantez kullansan iyi olabilir.
4) float sumxy(float xy) burdada { unutmuşsun.
Toplam Hit: 2294 Toplam Mesaj: 5
