Не могу найти ошибку - C (СИ) (153555)
Формулировка задачи:
#include <iostream>
#include <Windows.h>
#include <conio.h>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int main();
{
int n;
cout<<"Введите n: "<<endl;
cin>>n;
double x = 0; z = -1;
for (int i = 1; i <= n; i++)
{
z = -z;
x = x+z/i;
}
cout<<"Результат: " <<+ x<<endl;
}Решение задачи: «Не могу найти ошибку»
textual
Листинг программы
#include <iostream>
int main () {
int n;
std::cin >> n;
double sum;// sum нужно присвоить значение .0
for (int i = 1; i <= n; ++i) {
sum += 1 / i;// вот здесь 1 и i - значения типа int. Поэтому деление будет с числами типа int. При i больше 1 всегда 1/i будет выходить равным 0. Нужно записать: 1./i
}
std::cout << sum << std::endl;
return 0;
}