Проблема с Gcc, Sqrt..

  • Автор темы misterio
  • Дата начала
M

misterio

#1
Мда, название неудачное, но ладно.....

Вообщем я С\С++ не гений, но...например такой код :

Код:
#include <stdio.h> 
#include <math.h>

int main(void)
{
double x1,x2,D;
int a,b,c;

printf("Введите коефициенты a,b,c :\n");
scanf("%d%d%d",&a,&b,&c);

D = b*b - 4*a*c;

if (D < 0) printf("Решений нету!\n");
else 
{
x1 = ( -b+sqrt(D)) / (2*a);
x2 = ( -b-sqrt(D)) / (2*a);

if (x1 == x2 ) printf ("X1 = X1 = %d\n",x1);
else
{
printf("X1 = %d\n",x1);
printf("X2 = %d\n",x2);
}
}
return 0;
}
При компиляции выбивает :

unix:* # gcc sqrd.c
/tmp/ccUPjkZG.o: In function `main':
sqrd.c:(.text+0x34): undefined reference to `sqrt'
collect2: ld returned 1 exit status
Вот..не пойму, что там с функцией sqtr(sqr) ?
 
M

misterio

#3
Ты под под каким Linux?

У меня OpenSUSE 10.3. Но видать это проблема в самой ОС, поскольку компилятор последней версии...
Такой же бред был при запуске IRCd под этой же ОС, но там была !Ошибка Сегментации!.На оф. сайте сказали, что все должно быть ОК. Хотя на других осях все и вправду было ОК....
 
M

misterio

#4
Ага...все я понял.. просто надо было писать не :

gcc sqrd.c, а

с++ sqrd.c.

Но сразу возникает проблема : оно не считает d..а выбивает мусор! Почему:? Не пойму...в книге по аналогии пример написан, только другого уравнения.
 
G

gamecreator

#5
Ты под под каким Linux?

У меня OpenSUSE 10.3. Но видать это проблема в самой ОС, поскольку компилятор последней версии...
Такой же бред был при запуске IRCd под этой же ОС, но там была !Ошибка Сегментации!.На оф. сайте сказали, что все должно быть ОК. Хотя на других осях все и вправду было ОК....
я под windows, dev-cpp.