Не могу найти ошибку - 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;
            
        }
Условие:Дано натуральное число n. вычислить: 1 + 1/2 + 1/3 + 1/4 + ... + 1/n.

Решение задачи: «Не могу найти ошибку»

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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5