Форум программистов, компьютерный форум CyberForum.ru

Сумма ряда - C++

Восстановить пароль Регистрация
 
Дана18
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 119
26.11.2014, 11:54     Сумма ряда #1
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=1}^{k}log_{10}(\sqrt{2\cdot \frac{1}{i^2}})\;,\;k\lt 35

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "stdafx.h"
#include <iostream>
#include "math.h"
using namespace std;
{
    int main()
    {
        float s, eps, F, k;
        s = 0;
        int i = 1, iter = k;          //iter - кількість ітерацій
        cout << "Введите погрешность\n";
        cin >> eps;
        F=eps;
        while (fabs(F) >= eps);
        {
            F = log10(sqrt(2*1/i^2));
            if (k >= 35);
            s = s + F;
            i++;
            iter++;
        }
        if (iter > 35)
            cout << "Вычислить невозможно";
        cout << "Сумма" << s;
        cout << "Количество интераций" << iter;
    }
}
Программа должна решать пример, но она не работает. В чем ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 11:54     Сумма ряда
Посмотрите здесь:

С++ Сумма ряда. C++
Сумма ряда C++
Сумма ряда C++
сумма ряда C++
Сумма ряда C++
C++ сумма ряда
C++ сумма ряда 1,3,5,7
Сумма ряда C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 1
26.11.2014, 12:00     Сумма ряда #2
Цитата Сообщение от Дана18 Посмотреть сообщение
F = log10(sqrt(2*1/i^2));
C++
1
F=log10(sqrt(2.0/(i*i));
Цитата Сообщение от Дана18 Посмотреть сообщение
if (k >= 35);
; означает пустой оператор. s = s + F; уже вне условия
То же самое и с while (fabs(F) >= eps);

Добавлено через 2 минуты
Цитата Сообщение от Дана18 Посмотреть сообщение
iter = k; //iter - кількість ітерацій
k - еще не присвоено значение. В iter запишется мусор

Итого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
cout << "Введите погрешность\n";
     double eps;cin >> eps;
     double s=0;
     double F=1.;
     int i=1;
     for(;i<=35 && fabs(F)>eps;i++)
     {
        F =log10(sqrt(2.0/(i*i));
        s +=F;
     }
     if(i==36)
         cout<<"Точность не достигнута";
     cout<<s;
Yandex
Объявления
26.11.2014, 12:00     Сумма ряда
Ответ Создать тему
Опции темы

Текущее время: 07:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru