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

ошибка pow overflow error - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
Mimulus
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 11
26.05.2013, 17:06     ошибка pow overflow error #1
Помогите с задачей,выдает ошибку pow overflow error
Миниатюры
ошибка pow overflow error   ошибка pow overflow error  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.05.2013, 18:09     ошибка pow overflow error #2
Попробуйте написать:
C++
1
pow(2.0, i)
Mimulus
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 11
26.05.2013, 18:15  [ТС]     ошибка pow overflow error #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Попробуйте написать:
C++
1
pow(2.0, i)
не помогло
Мимино
 Аватар для Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
26.05.2013, 20:38     ошибка pow overflow error #4
Цитата Сообщение от Mimulus Посмотреть сообщение
Помогите с задачей,выдает ошибку pow overflow error
Функция pow не может принимать первый аргумент типа int. Должен быть double, float, long double... Если не помог вышеуказанный метод, можно объявить константу типа double, присвоить ей значение 2.0 и передавать в функцию константу вместо явного числа.
Mimulus
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 11
26.05.2013, 21:49  [ТС]     ошибка pow overflow error #5
Цитата Сообщение от Мимино Посмотреть сообщение
Функция pow не может принимать первый аргумент типа int. Должен быть double, float, long double... Если не помог вышеуказанный метод, можно объявить константу типа double, присвоить ей значение 2.0 и передавать в функцию константу вместо явного числа.
и это тоже не помогло
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.05.2013, 21:55     ошибка pow overflow error #6
Тут дело не синтаксисе. Код неправильный.
Mimulus, нужно текст кода выкладывать, а не скрины.
Mimulus
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 11
26.05.2013, 22:11  [ТС]     ошибка pow overflow error #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# include <iostream.h>
# include <math.h>
float t(float p)
{ return sin(p)/cos(p);
}
void main()
{ float l1,l,p;
  int i;
  const pi=3.14;
  const eps=1E-3;
   p=pi/8;
   l1=pow(t(p),t(2*p));
   i=1;
  do
 { i=i+1;
   l=l1;
   p=p+p/pow(2.0,i);
   l1=pow(t(p),t(2*p));
 }
  while (abs(l1-l)<=eps);
 cout <<"\n lim=" << l1;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.05.2013, 22:26     ошибка pow overflow error #8
У меня работает.
Миниатюры
ошибка pow overflow error  
Mimulus
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 11
26.05.2013, 22:44  [ТС]     ошибка pow overflow error #9
Цитата Сообщение от alsav22 Посмотреть сообщение
У меня работает.
а какая среда?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.05.2013, 22:56     ошибка pow overflow error #10
Студия.

Добавлено через 9 минут
mingv тоже компилирует, но если заменить abs на fabs.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
26.05.2013, 22:58     ошибка pow overflow error #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <string>
#include <cstdlib>
#include <vector>
#include <map>
#include <stack>
#include <set>
#include <list>
#include <iomanip>
#include <functional>
#include <sstream>
#include <fstream>
using namespace std;
#define pow(x,n) pow(1.0*(x),n)
#define ll long long
 
double t(double p) {
    return sin(p) / cos(p);
}
#define EPS            (double)1e-9
#define PI 3.14159265358979
 
inline ll binpow(ll x, ll n) {
    ll res = 1;
    while (n) {
        if (n & 1)res *= x;
        x *= x;
        n >>= 1;
    }
    return res;
}
 
int main() {
    double l1, l, p;
    int i;
    p = PI / 8;
    l1 = pow(t(p), t(2 * p));
    i = 1;
    do {
        i = i + 1;
        l = l1;
        p = p + p / pow(2.0, i);
        l1 = pow(t(p), t(2 * p));
    } while (fabs(l1 - l) <= EPS);
    cout << "lim= " << l1<<endl;
 
    return 0;
}
все ок
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2013, 23:28     ошибка pow overflow error
Еще ссылки по теме:

Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка C++
C++ Ошибка оператора pow
Ошибка с pow C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.05.2013, 23:28     ошибка pow overflow error #12
Пределы уже забыл, но код упростил бы хотя бы до такого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
 
double f( double p )
{
    return std::pow( std::tan(p), std::tan(2*p) );
}
 
void main()
{ 
    const double eps=1E-3;
    double p= M_PI/8;
    double l1 = f(p);
 
    int i=1;
    double l;
    do
    { 
        l = l1;
        p += p/std::pow(2.,++i);
        l1 = f(p);
    }
    while (std::abs(l1-l)<=eps);
    std::cout <<"\n lim=" << l1;
}
Yandex
Объявления
26.05.2013, 23:28     ошибка pow overflow error
Ответ Создать тему
Опции темы

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