Dikkat etmemişim oraya. slope=(float)(y2-y1)/(x2-x1); şeklinde yazılmalı orası. Sebebi işe şu; işlem yapılan değişkenlerin türü integer olduğu için atandığı değişken ne olursa olsun yuvarlama yapıp çıkan sayıyı yazacaktır. En başta bu değişkenleri int yerine float olarak tanımlamak da bir çözüm.
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
int x1,x2,y1,y2,z;
float slope,distance;
printf("please enter x1\n");
scanf("%d",&x1);
printf("please enter x2\n");
scanf("%d",&x2);
printf("please enter y1\n");
scanf("%d",&y1);
printf("please enter y2\n");
scanf("%d",&y2);
if (x2-x1==0)
printf("slope is infinity\n");
else (slope=(y2-y1)/(x2-x1))
z=(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
distance=sqrt(z);
printf("%f %t %f",slope,distance);
system("PAUSE");
return 0;
}
BU PROGRAM C DE HATA VERİYOR ÇOK UĞRAŞTIM YARDIMCI OLABİLİR MİSİNİZ?