C++: помощь начинающим
помогите, пожалуйста!
есть задача: Дано целое число n. Получить наименьшее число вида 2^r , превосходящее n. есть код: #include <iostream> #include <math.h> using namespace std; int f1 (int r, int n) { cout << "BBEDuTE n\n"; cin >> n; r = 1; if (float pow(2, r) > n) cout << "2^r > n\n"; else r++; } int main () { cout << f1; return 0; } вопрос: почему не работает, где ошибка?? |
попробуй так
#include <iostream> #include <math.h> #include <conio.h> void main() { int m=0,z=0; std::cout << "BBEDuTE m\n"; std::cin >> m; while (pow(2,z)<=m){ z++; } std::cout << "itog=2^"<<z; getch(); } |
возможно нужно заменить
Цитата:
Цитата:
|
Полезная ссылочка для начинающих:
http://zed.karelia.ru/go.to/for.stud...ng.rules/rules Пыс: смотри пост номер два, что касается твоей проги, надо не исправлять ошибку, а все переписывать. |
Цитата:
1>d:\users\белый\documents\visual studio 2008\projects\example1\example1\laba 4(ver1).cpp(9) : error C2668: pow: неоднозначный вызов перегруженной функции 1> e:\program files\visual studio\vc\include\math.h(575): может быть 'long double pow(long double,int)' 1> e:\program files\visual studio\vc\include\math.h(527): или 'float pow(float,int)' 1> e:\program files\visual studio\vc\include\math.h(489): или 'double pow(double,int)' 1> при попытке сопоставить список аргументов '(int, int)' 1>d:\users\белый\documents\visual studio 2008\projects\example1\example1\laba 4(ver1).cpp(9) : fatal error C1903: не удается восстановить после предыдущих ошибок; остановка компиляции |
Цитата:
1>d:\users\белый\documents\visual studio 2008\projects\example1\example1\laba 4.cpp(10) : warning C4244: аргумент: преобразование 'int' в 'float', возможна потеря данных 1>d:\users\белый\documents\visual studio 2008\projects\example1\example1\laba 4.cpp(13) : error C4716: f1: должна возвращать значение |
Цитата:
А для VS 2008 нужно действовать так: 1) Нажми создать новый проект. 2) Выбери обязательно создать консольное приложение, все галочки пусть по умолчанию стоят. (Галочку на пустом проекте НЕ ставь) 3) После создания проекта найди главный файл(это тот который имеет тоже имя что и сам проект, и он с расширением cpp), и замени его код посностью на этот: #include "stdafx.h" #include <iostream> #include <math.h> #include <conio.h> int _tmain(int argc, _TCHAR* argv[]) { int m=0,z=0; float rt=2; std::cout << "BBEDuTE m\n"; std::cin >> m; while (pow(rt,z)<=m){ z++; } std::cout << "itog=2^"<<z; getch(); return 0; } //------------ 4) Сохрани проект и компилируй. |
Текущее время: 19:35. Часовой пояс GMT +7. |
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Форум открыт в июле 2004 г.