Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2022, 23:53   #1
AlexDolmat
 
Регистрация: 04.02.2022
Сообщений: 6
По умолчанию Ошибка при запуске.

Подскажите пожалуйста что тут не так и почему выдает ошибку и как написать правильно.
Код:
#include <iostream>
#include <cmath>
#include <conio.h>
 
using namespace std;
 
float func (int N)
{
    for (float i = 0; i < 200; i ++)
         if (pow (5, i) == N)
              return i;
    return -1;
}
 
int main ()
{
    int N;
    cout << "Vvedite N: ";
    cin >> N;
    //cout << (func (N) == -1 ? "no" : "yes");
    float k = func (N);
    if (k == -1)
         cout << "no";
    else
         cout << k;
    getch ();
    return 0;
}

Последний раз редактировалось BDA; 15.02.2022 в 05:03.
AlexDolmat вне форума Ответить с цитированием
Старый 14.02.2022, 09:00   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Код:
for (float i = 0; i < 200; i ++)
Переменная цикла должна быть перечислимого типа. Это не может быть тип float.

PS: Без деталей и более полного рассмотрения других возможных ошибок.
Лучше описывать задачу, выдавать код и описывать ошибку.
Ещё лучше, если описывать ошибку, которую выдаёт компилятор.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 14.02.2022, 12:21   #3
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Переменная цикла должна быть перечислимого типа. Это не может быть тип float.
С чего вдруг? https://godbolt.org/z/zxPM1s37G

conio.h - древний мс-дос хедер, его нет и не было в стандарте.
ForenLi вне форума Ответить с цитированием
Старый 14.02.2022, 13:08   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Я так думаю: параметр цикла в виде float для for - плохая идея в любом случае. Независимо от того, в каких стандартах чего как. Если уж нужда заставит (или прихоть - любовь совать float где надо и где не) - то while такое вытерпит.

Последний раз редактировалось digitalis; 14.02.2022 в 13:11.
digitalis вне форума Ответить с цитированием
Старый 14.02.2022, 15:04   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

ForenLi
Цитата:
С чего вдруг?
И да. А с чего это я для С++?
Просто писал на нём очень, ну очень давно и небольшие программы.
У меня не было случая использовать вещественное, поскольку этот параметр использовал для индексации.
Представление от других языков осталось, тот же Паскаль.
С другой стороны запустил на DevC++ всё скомпилировалось и запустилось без ошибок.

PS: Конечно, можно выполнять операцию сравнивания целого с вещественным, но хорошо ли это?
Да и зачем использовать цикл for, если для работы с вещественными можно использовать и другие циклы.
Просто бросилось в глаза и ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 15.02.2022, 12:37   #6
Hpolew
Новичок
Джуниор
 
Регистрация: 28.12.2021
Сообщений: 2
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
И да. А с чего это я для С++?
Просто писал на нём очень, ну очень давно и небольшие программы.
У меня не было случая использовать вещественное, поскольку этот параметр использовал для индексации.
Представление от других языков осталось, тот же Паскаль.
С другой стороны запустил на DevC++ всё скомпилировалось и запустилось без ошибок.

PS: Конечно, можно выполнять операцию сравнивания целого с вещественным, но хорошо ли это?
Да и зачем использовать цикл for, если для работы с вещественными можно использовать и другие циклы.
Просто бросилось в глаза и ...
На DevC++ все работает, подтверждаю.
Hpolew вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где ошибка? При билдинге ошибок 0, но при запуске вылетает ошибка. Visual C nikitabool Помощь студентам 0 08.01.2014 17:19
Ошибка при запуске anghela БД в Delphi 3 21.05.2013 21:55
Ошибка при запуске PC icesewer Операционные системы общие вопросы 6 14.02.2013 13:47
ошибка при запуске promt Общие вопросы C/C++ 5 11.10.2011 00:18
Ошибка при запуске СиСи+ Общие вопросы C/C++ 4 17.06.2010 08:24