Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CheHast
0 / 0 / 0
Регистрация: 16.10.2009
Сообщений: 2
#1

Программа с функцией pow. - C++

19.10.2009, 21:26. Просмотров 680. Ответов 4
Метки нет (Все метки)

Всем привет.
Суть задачи в том,что из данного файла записать в переменную число,которое находится в файле, и найти максимальную степень двойки,на которую делится это число.
При компиляции выдаётся ошибка: "ambigous call to overloaded function"
Хотелось бы услышать,почему программка ругается и как исправить это.
Так же не отказался бы от советов,как оптимизировать программу.
Заранее спасибо)

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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream in("diveasybility.in.txt");
    ofstream out("diveasybility.out.txt");
    int a,i;
    double b;
    in >> a;
 
    while ((a <= 1024) && (a >= 1))
    {
        for(i; i < 10; i--)
        {
            b = a % pow(2,i); 
            if (b = 0)
            {
                out << i;
            }
        break;
        }
    }
 
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2009, 21:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа с функцией pow. (C++):

Проблема с функцией pow() - C++
Простая ситуация, а функция не работает. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int...

проблема с функцией pow() - C++
Доброе времени суток. Возникла проблема при использовании pow(). for(int n = 1; n &lt; 20; n++) { ...

что за ошибка с функцией POW - C++
s=s+(pow(x,4*n+1)/4*n+1); что не так Добавлено через 1 минуту все ясно,надо было цифры как double,или float объявлять

Ошибка с библиотечной функцией pow - C++
Я понимаю что все это можно сделать намного проще, но сейчас волнует почему показывает ошибки в pow, что не так? int main() { int...

Подсчёт выражения. Разработка программы и неясности с функцией pow - C++
Привет, друзья. Задали задачку вот такую: http://habreffect.ru/files/808/bdadc49dd/DSC08284.jpg Собственно говоря программу я написал...

Вычислить сумму ряда и сравнить результат с функцией у=pow (3,x) - C++
S=1+pow (ln,3)/1!*x+pow (ln,2)*3/2!*pow (x,2)+pow (ln,3)*3/3!*pow (x,3)+...+pow (ln,15)*3/15!*pow (x,15). Решите задачу и сравните...

4
valeriikozlov
Эксперт С++
4674 / 2500 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.10.2009, 21:53 #2
значение переменной 'a' вводится из файла. Затем цикл:
C++
1
while ((a <= 1024) && (a >= 1))
причем в цикле переменная 'a' не изменяется. Цикл у Вас бесконечный
Предлагаю вариант:
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std; 
int main( )
{
        ifstream in("diveasybility.in.txt");
        ofstream out("diveasybility.out.txt");
        int a,i, b, temp=0;
        in >> a;
        b=a;
        i=0;
        while(b>0)
        {
            b/=2;
            i++;
        }
        i--;
        for(b=1; b<i; b++)
            if(a%(int)pow(2,b)==0)
                temp=b;
        cout<<"Otvet: "<<b<<endl;
        out << i;
system("pause");
return 0;
}
0
CheHast
0 / 0 / 0
Регистрация: 16.10.2009
Сообщений: 2
20.10.2009, 00:41 #3
Всё равно выдаёт ошибку "error C2668: 'pow' : ambiguous call to overloaded function"
0
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 483
20.10.2009, 00:43 #4
для pow нужна библиотека math
0
valeriikozlov
Эксперт С++
4674 / 2500 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
20.10.2009, 06:15 #5
Строку 21 в моем коде замени на:
C++
1
if(a%(int)pow((double)2,b)==0)
0
20.10.2009, 06:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2009, 06:15
Привет! Вот еще темы с ответами:

при вызове функции pow() выдаёт ошибку: test.cpp:(.text+0x59b): undefined reference to `pow' - C++
В чём дело? Добавлено через 1 минуту ps. Заголовок math.h подключен.

Программа с виртуальной функцией - C++
Сгенерируйте абстрактный класс типа фигура, создайте производные от него классы типа треугольник, шестиугольник. В классах должны быть...

программа с рекурсивной функцией - C++
написать программу на языке с++ решить задачу не используя операторы цикла написать программу с рекурсивной функцией вычисляющей

Программа с рекурсивной функцией - C++
Друзья, помогите пожалуйста написать вот такую программу в Dev с++ Сколькими способами можно отобрать команду в составе 5 человек из 8...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.