#include <iostream>
using namespace std;
int main()
{
int a, n;
float s;
s = 1,5;
n = 2;
cout << "vvedite a:";
cin >> a;
while (a >= s) {
n++;
s += 1 / n;
}
cout << "naim n=" << n;
return 0;
}
в 14 строке (s += 1 / n;) происходит деление на ноль, но я понятия не имею откуда он взялся о:
Необработанное исключение по адресу 0x00007FF7405C1068 в Проект1.exe: 0xC0000094: Integer division by zero.
Самая глупая ошибка у вас в s = 1,5; - в C++ нужно использовать точку, а не запятую.
Вторая по глупости ошибка в том, что вы используете целочисленное деление
s += 1 / n;
которое всегда дает (при n > 1) нуль. Так что программа зациклится, n перевалит за границу допустимого и станет 0.
Но и это еще не все. Все равно ваш метод расчетов для int n не может дать значение выше примерно 22.064778 - это все, что вы можете получить (при n достигающем максимального представимого этим типом значения).
Гармонический ряд - ОЧЕНЬ медленно расходящийся ряд (для того, чтобы сумма превысила 100, необходимо около 1043 элементов ряда). Да, эта сумма станет заведомо больше любого значения... но при таких n, что вашей жизни (а то и жизни вселенной) не хватит, чтоб этого дождаться. Ну, и точности компьютера тоже не хватит :)
Эта задача решается не так - по крайней мере для достаточно больших n.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости