|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.10.2012, 14:01 | #1 |
Пользователь
Регистрация: 28.09.2012
Сообщений: 12
|
не работает pow(x,y)
Снова всем привет!
в моей задаче нужно из числа вычеркнуть первую цифру и приписать в конце. если мы пишем 1234, то должны получить 2341. вот код: #include <stdio.h> #include <iostream> #include <math.h> class zad { public: int a,i,b,c,otv; void rew() {c=a; for (i;a>0; i++) { a=a/10; } b=c/pow(10,i-1); a=c%pow(10,i-1); otv=a*10+b; } }; int main() { zad u1; u1.a=123456; u1.i=0; u1.b=0; u1.c=0; u1.otv=0; u1.rew(); } здесь не работает b=c/pow(10,i-1); почему? и еще вопрос: можно ли не писать эти строки: u1.i=0; u1.b=0; u1.c=0; u1.otv=0; по умолчанию данные переменные не принимают значение 0? спасибо!!! |
13.10.2012, 14:03 | #2 |
Пользователь
Регистрация: 28.09.2012
Сообщений: 12
|
вот что выдает
t.cpp: In member function 'void zad::rew()': Line 16: error: call of overloaded 'pow(int, int)' is ambiguous compilation terminated due to -Wfatal-errors. |
13.10.2012, 14:08 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
В С++ математические функции могут быть и float и double а у вас аргументы int, вот компилятор и не знает какую функцию звать. Приведитее аргументы к одному из двух типов.
|
13.10.2012, 14:20 | #4 |
Пользователь
Регистрация: 28.09.2012
Сообщений: 12
|
Waleri,
Я видимо Вас не понял мне эти переменные нужно объявить как float или double? |
13.10.2012, 15:29 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Аргументы pow должны быть float или double. Для этого не обязательно объявлять переменные этим типом, можно сделать typecast.
http://en.wikipedia.org/wiki/Type_conversion |
13.10.2012, 15:39 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,303
|
И можно избавиться от pow.
(не знаю, как описывать классы) Код:
Еще вы можете накапливать сразу степень Но все это косметика
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
14.10.2012, 21:16 | #7 |
Форумчанин
Регистрация: 05.04.2012
Сообщений: 134
|
Мой вариант.
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка pow(x,y); | cas2010 | Помощь студентам | 26 | 12.05.2012 19:51 |
Функция pow | |Dima| | Общие вопросы C/C++ | 16 | 19.07.2011 13:07 |
C. Что-то с math.h. Не работает pow. | CofeIn | Помощь студентам | 7 | 18.02.2011 22:55 |
не работает ф-я pow | Denni$ | Общие вопросы C/C++ | 2 | 09.06.2009 02:44 |
delphi pow? | Happyman | Помощь студентам | 2 | 13.05.2008 19:40 |