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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ZveRb34
5 / 5 / 0
Регистрация: 23.11.2011
Сообщений: 83
#1

Выводит неверный результат ln2=1-1/2+1/3-1/4 - C++

22.04.2014, 00:42. Просмотров 265. Ответов 2
Метки нет (Все метки)

Здравствуйте, необходимо написать последовательный и параллельный код для подсчета ln2=1-1/2+1/3-1/4...
Вот что получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
double ln=0.0;
int i=0, k=0;
while (i<20)
{
    i++;
    if (i%2==1)
    {
        k=i*(-1);
    }
    k=i;
    //cout << k << endl;
    //cout << i << endl;
    ln += 1.0/(double)k;
    cout << ln << endl;
}
return 0;
}
Но выводит такой результат:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
1.5
1.83333
2.08333
2.28333
2.45
2.59286
2.71786
2.82897
2.92897
3.01988
3.10321
3.18013
3.25156
3.31823
3.38073
3.43955
3.49511
3.54774
3.59774
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2014, 00:42     Выводит неверный результат ln2=1-1/2+1/3-1/4
Посмотрите здесь:

Почему выводит неверный результат? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; using namespace std; int...

Калькулятор выводит неверный результат - C++
Изучаю С++ по Страуструпу. Дошел до следующей задачи(калькулятор) и &quot;буксую&quot;, не пойму в чем дело, код с книгой сверял несколько раз. ...

При значении больше 10 выводит неверный результат - C++
При вводе чисел до 10, например 4 выводится результат 4 = 4.02725. Начина с 10 результат такой 10=10. Почему так ? #include &lt;iostream&gt; ...

Почему выводит неверный результат при вычислении произведения? - C++
Еще 1 вопрос из разряда нубских: #include&lt;iostream&gt; #include&lt;cmath&gt; using namespace std; int main() { setlocale(0, &quot;&quot;); int...

Деревья, неверный результат - C++
вопрос по деревьям. почему-то выдает адрес ячейки, а не содержимое... почему? #include &lt;iostream&gt; using namespace std; class...

Неверный результат _getch() - C++
Здравствуйте. Пытаюсь сделать управление клавишами в программе, но когда через _getch() отлавливаю нажатие кнопки (в данный момент UP), то...

выводит неверный ответ - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; const int n = 100; int main (int argc, char * const argv) { int x; cout &lt;&lt; &quot;введите...

Проверка ввода и неверный результат - C++
переменная а содержит 13,а не то число которое мы вводим,Например мы ввели число 3,оно прошло проверку на букву и ...,но после проверки...

Неверный результат транспонирования матрицы - C++
Помогите, пожалуйста, разобраться - почему программа выдает в результате 0 1 1 1 0 1 1 1 0 Хотя ожидалось, что результатом...

Метод Гаусса-Зейделя: неверный результат - C++
Здравствуйте. Я вот написал(точнее фрагмент взял с Википедии) программу решения СЛАУ методом Гаусса-Зейделя, но результат не тот, который...

При вычислении выражения выдается неверный результат - C++
Добрый вечер! Пытался разобраться, но, увы, не получилось. У меня есть пару вопросов: 1) Что значит следующая постановка: &quot;Код методов –...

Функция перемножения матриц выдает неверный результат - C++
int **mas_1; int **mas_2; int **mas_3;//глобальные void multiply(int row1, int col1, int row2, int col2) { if (row1 == col2) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YDS
11 / 11 / 5
Регистрация: 29.03.2014
Сообщений: 61
22.04.2014, 01:50     Выводит неверный результат ln2=1-1/2+1/3-1/4 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот так должен выглядеть Ваш код. Главной ошибкой было то, что после if нужно было писать else, а то даже если оно заходило в if то после if оно всеравно присваивало k = i, то есть k всегда было і и никогда і*(-1). Плюс условия я поменял местами, а то так ln тоже не правильно считало)
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
#include <iostream>
 
using namespace std;
 
int main()
{
double ln=0.0;
int i=0, k=0;
while (i<20)
{
    i++;
    if (i%2==1)
    {
        k=i;
    }
    else k=i*(-1);
    //cout << k << endl;
    //cout << i << endl;
    ln += 1.0/(double)k;
    cout << ln << endl;
     
}
system("pause");
return 0;
}
ZveRb34
5 / 5 / 0
Регистрация: 23.11.2011
Сообщений: 83
22.04.2014, 01:53  [ТС]     Выводит неверный результат ln2=1-1/2+1/3-1/4 #3
Спасибо большое, проморгал я else=)
Yandex
Объявления
22.04.2014, 01:53     Выводит неверный результат ln2=1-1/2+1/3-1/4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru