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

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

Войти
Регистрация
Восстановить пароль
 
COOLxXxCOOL
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 4
#1

Организовать цикл - C++

25.09.2012, 22:38. Просмотров 414. Ответов 7
Метки нет (Все метки)

Вот приболел, а на лабы нужно задание, сижу и не понимаю, что от меня хотят и как это делать.
http://f1.s.qip.ru/G1CCNmsq.png

Попытался написать что-то типо этого

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
// test_101.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <cmath>
 
int main(void)
{
    float s=0,s1=0,r=0;
    int k;
    for(int i=1;i<100000;i++)
    {
        s1=1;
        for(int k=1;k<i;k++)
        {
         s1=s1*(-1);     
         }
        r=r+(s1/i);
    printf("%f,|| %d\n",r,i);
    }
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2012, 22:38     Организовать цикл
Посмотрите здесь:

организовать цикл - C++
дано слово ch=&quot;sdf&quot; Как сделать, чтобы ch просматривался целым словом, а не посимвольно. for(i=0;i&lt;=3;i++){ ...

организовать цикл - C++
Пожалуйста помогите организовать цикл: while ((A!+a) &amp;&amp; (A!+b)) { далее подряд идут 4 операции } if A=a {....} else...

Как организовать цикл? - C++
Здравствуйте. Вообщем имеется уравнение,в правой части которого идёт бесконечное сложение.Слагаемые появляются по такому закону x -...

Как можно организовать цикл? - C++
помогите пожалуйста, как можно организовать цикл, вот например в этом:#include&lt;iostream.h&gt; void main() { float a, b, c; ...

Как организовать цикл здесь? - C++
Всем привет! Мне надо посчитать с помощью цикла выражение типа: \sqrt{3 + \sqrt{3 + ...\sqrt{3}}} (n корней, n - с клавиатуры)....

Организовать цикл худения и кормежки жирафа - C++
Если кому нетрудно написать, помогите решить эту задачу Сделать через конструктор (2 класса) , жираф (1 класс) , весит 1000кг, каждую...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ReasonX7
47 / 46 / 2
Регистрация: 11.12.2011
Сообщений: 147
25.09.2012, 22:47     Организовать цикл #2
Тебе нужно при каждой итерации проверять разность s_old - s_new. Делать это до тех пор, пока их разность не станет меньше или равной точности.
COOLxXxCOOL
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 4
25.09.2012, 22:49  [ТС]     Организовать цикл #3
А можете хотяб примерно описать код, ибо учу С++ недельку.
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
25.09.2012, 23:06     Организовать цикл #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <math.h>
#include <iostream>
using namespace std;
int main() {
    double e = 1.0e-2;
    int k = 1;
    double s0 = 1.0;
    double s1 = 0.0;
    double sum = 0.0;
    do {
        sum += s0;
        ++k;
        s1 = s0;
        if (k%2 == 0)
            s0 = -1.0/(double)k;
        else
            s0 = 1.0/(double)k;
    } while (abs(s0-s1) < e);
    cout << "sum= " << sum << "\nk= " << (k-1) << endl;
    return 0;
}
COOLxXxCOOL
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 4
25.09.2012, 23:27  [ТС]     Организовать цикл #5
А это нормально, что я вижу вот это?
http://f1.s.qip.ru/G1CCNmsx.png
ReasonX7
47 / 46 / 2
Регистрация: 11.12.2011
Сообщений: 147
25.09.2012, 23:37     Организовать цикл #6
COOLxXxCOOL, вот рабочий код:
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    const double eps = 0.0001;      // Точность.
    int k = 1;              // Степень.
    double s_new = 1.0, s_old, sum = 0.0;
    do   // Повторять итерации*
    {
        sum += s_new;
        s_old = s_new;
        k++;
        s_new = pow((-1.0), (k - 1)) / k;
    }
    while (fabs(s_old - s_new) > eps);   // *пока выполняется условие (s_old - s_new) больше точности.
    // fabs - модуль числа.
    cout << sum << endl;        // Вывод результата.
    system("pause");            // Задержка экрана.
 
    return 0;
}
Добавлено через 2 минуты
Суть в том, что мы на каждой итерации прибавляем к суме ряда новое значение s_new. Так как с каждой новой итерацией точность увеличивается, то и результат соответственно будет ближе к точному.
COOLxXxCOOL
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 4
25.09.2012, 23:45  [ТС]     Организовать цикл #7
Цитата Сообщение от ReasonX7 Посмотреть сообщение
COOLxXxCOOL, вот рабочий код:
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    const double eps = 0.0001;      // Точность.
    int k = 1;              // Степень.
    double s_new = 1.0, s_old, sum = 0.0;
    do   // Повторять итерации*
    {
        sum += s_new;
        s_old = s_new;
        k++;
        s_new = pow((-1.0), (k - 1)) / k;
    }
    while (fabs(s_old - s_new) > eps);   // *пока выполняется условие (s_old - s_new) больше точности.
    // fabs - модуль числа.
    cout << sum << endl;        // Вывод результата.
    system("pause");            // Задержка экрана.
 
    return 0;
}
Добавлено через 2 минуты
Суть в том, что мы на каждой итерации прибавляем к суме ряда новое значение s_new. Так как с каждой новой итерацией точность увеличивается, то и результат соответственно будет ближе к точному.
Большое спасибо за подробный ответ. Теперь действительно понял, какой был дурак =)
Теперь можно рассказать другу еще, чтобы тоже не мучился. И пойти лечиться от простуды и спать.
Огромное спасибо еще раз.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2012, 23:46     Организовать цикл
Еще ссылки по теме:

Организовать цикл do/while, который принимает целые числа с клавиатуры и вычитает их из 10000 - C++
do - while Организовать цикл, который принимает целые числа с клавиатуры и вычитает их из 10000. Окончание цикла - получение...

Организовать список - C++
Организовать список у которого элементами являются массив из трех строковых переменных, заполнить его последовательно введенными строками с...

Организовать функцию - C++
Дорогие форумчане,Надо Организовать функцию определения большего из двух чисел,которы передаются в функцию по ссылке..Буду очень...

как организовать ? - C++
вот такой вопрос нужно написать программу которая определяет минимальное число во введенной с клавиатуры последовательности положительных...


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

Или воспользуйтесь поиском по форуму:
ReasonX7
25.09.2012, 23:46     Организовать цикл
  #8

Не по теме:

COOLxXxCOOL, пожалуйста, сам в прошлом году мучился с подобными задачами на итерации.

Yandex
Объявления
25.09.2012, 23:46     Организовать цикл
Ответ Создать тему
Опции темы

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