#include <stdio.h> #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?
else koluna ; koymamışsınız
#include <stdio.h> #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=sqrtf(z); printf("%f %t %f",slope,distance);
system("PAUSE"); return 0; }
çok teşekkürler %t operatörü nedır biliyor musunuz kullanmasak olur mu ?
electro-man
kullanıcısına yanıt
%t değil \t olması lazım onun. İçeri girinti yani tab karakteri ekler. Şunun gibi:
Merhaba\tMerhaba Merhaba Merhaba
çok teşekkürler :)
electro-man
kullanıcısına yanıt
Rica ederim
son sorum yazdığınız kodda slope hep tamsayı çıkıyor ondalıklı çıkmıyor ama ben slopeyi float olarak tanımlamıştım neden böyle oldu acaba?
electro-man
kullanıcısına yanıt
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.
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme