Форум программистов, компьютерный форум CyberForum.ru

Помогите исправить ошибку в коде с++ - C++

Восстановить пароль Регистрация
 
Garred
 Аватар для Garred
279 / 77 / 4
Регистрация: 19.04.2011
Сообщений: 217
19.09.2011, 18:29     Помогите исправить ошибку в коде с++ #1
Решаю задачу с вот такими вычислениями.

C++
1
2
3
4
5
6
7
8
9
10
for(x=1;x < r-1; x++)
        {
            while ((sqr(x) + sqr(y)) > sqr(r))
            {
                y=y-1;
                k=k+kol(x3+x, y3-y, y3+y) + kol(x3-x,y3-y,y3+y);
            }
            k=k+kol(x3+r, y3, y3) + kol (x3-r, y3, y3);
            std::cout << k <<std::endl;
        }
Компилятор выдает ошибку:
'sqr' : undeclared identifier
Ругается на строку
C++
1
while ((sqr(x) + sqr(y)) > sqr(r))
И типы данных менять пытался, и библиотеки все подключил. Ошибка остается.
Помогите пожалуйста исправить. Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.09.2011, 18:32     Помогите исправить ошибку в коде с++ #2
в С/С++ нет sqr
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
19.09.2011, 18:32     Помогите исправить ошибку в коде с++ #3

Не по теме:

Код
[nameless@desktop ~]$ man sqr
Нет справочной страницы для sqr


Нет такой функции. Есть
sqrt
Код
SQRT(3)                                                                   Руководство программиста Linux                                                                   SQRT(3)

ИМЯ
       sqrt, sqrtf, sqrtl - функция извлечения квадратного корня

ОБЗОР
       #include <math.h>

       double sqrt(double x);
       float sqrtf(float x);
       long double sqrtl(long double x);

       Компонуется при указании параметра -lm.

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       sqrtf(), sqrtl():
           _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
           или cc -std=c99

ОПИСАНИЕ
       Функция sqrt() возвращает неотрицательный квадратный корень от x.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
       В случае успеха эти функции возвращают квадратный корень от x.

       Если x имеет значение NaN, будет возвращено NaN.

       Если x равно +0 (-0), будет возвращено +0 (-0).

       Если x стремится к плюс бесконечности, то будет возвращена плюс бесконечность.

       Если x меньше -0, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN.

ОШИБКИ
       Смотрите math_error(7), чтобы определить, какие ошибки могут возникать при вызове этих функций.

       Могут возникать следующие ошибки:

       Ошибка области: x меньше -0
              errno устанавливается в EDOM. Вызывается исключение неправильной плавающей точки (FE_INVALID).

СООТВЕТСТВИЕ СТАНДАРТАМ
       C99, POSIX.1-2001. Вариант, возвращающий значение типа double, также соответствует SVr4, 4.3BSD и C89.

СМОТРИТЕ ТАКЖЕ
       cbrt(3), csqrt(3), hypot(3)

                                                                                    2010-09-20                                                                             SQRT(3)
 Manual page sqrt(3) line 1/54 (END)
- вычисление квадратного корня. Заголовочный файл - math.h (cmath в С++)
nxnx
Формучанин
361 / 292 / 16
Регистрация: 02.11.2010
Сообщений: 1,226
19.09.2011, 18:40     Помогите исправить ошибку в коде с++ #4
C
1
#define sqr(x) pow(x,2)
- чтобы работала запись sqr()
http://www.cplusplus.com/reference/clibrary/cmath/pow/
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.09.2011, 02:38     Помогите исправить ошибку в коде с++ #5
nxnx, тогда уж лучше так:
C
1
#define sqr(x) ((x) * (x))
Yandex
Объявления
20.09.2011, 02:38     Помогите исправить ошибку в коде с++
Ответ Создать тему
Опции темы

Текущее время: 17:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru