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

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

misterio

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

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

Код:
#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

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

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

misterio

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

gcc sqrd.c, а

с++ sqrd.c.

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

gamecreator

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!