Miért nem működik az sqrt?
Az elején beírtam a math.h-t de mégis az sqrt-re hibát ír.
"undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
"
Miért nem működik?
Két pont távolságát szeretném kiszámolni.
float a, b, c, d, t;
printf("Add meg a két pont koordinátáit: ");
scanf("%f %f %f %f", &a, &b, &c, &d);
t = sqrt((a - b) * (a - b) + (c - d) * (c - d));
printf("Tavolsag: %f\n", t);
Bár a pontos válaszhoz tényleg jól jönne a TELJES forráskód, illetve hogy milyen fordítót/fejlesztőkörnyezetet használsz, de a hibakódból arra tippelek, hogy gcc-t használsz, és elfelejtetted fordításkor a -lm kapcsolót:
gcc test.c -o test -lm
Ezen fórumtopik alapján:
Illetve ha a feladat nem írja elő, érdemes az a,b,c,d változónevek helyett x0,x1,y0,y1.
Majd a felhasználótól külön-külön kérd be a koordinátákat - például így:
printf("Add meg az első pont koordinátáit (x y): ");
scanf("%f %f", &x0, &y0);
printf("Add meg a második pont koordinátáit (x y): ");
scanf("%f %f", &x1, &y1);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!