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

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

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

Цикл while - C++

29.11.2013, 21:25. Просмотров 212. Ответов 9
Метки нет (Все метки)

Задание: создайте цикл while, вычисляющий сумму положительных целых чисел от 1 до некоторого числа n (проверьте результат по формуле n*(n+1)/2)

Можно таким образом реализовать задание?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main (void)
{
int i=0, sum = 0;
srand (time(0));
int n = rand () % 900 + 1;
while (i < n )
{
    i++;
    sum = sum + i;
}
cout << "Сумма чисел от 1 до некоторого числа n = " << sum;
return 0;
}
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 21:25     Цикл while
Посмотрите здесь:

цикл while C++
цикл for... C++
Цикл for C++
цикл While C++
C++ Цикл
C++ Цикл while
C++ цикл while
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
29.11.2013, 21:28     Цикл while #2
C++
1
while (i < n )
наверно тут лучше сделать <=
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
29.11.2013, 21:29     Цикл while #3
Можно. Только добавь проверку по формуле.
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
29.11.2013, 21:34     Цикл while #4
C++
1
2
if(sum==n*(n+1)/2)
        cout << "Сумма чисел от 1 до некоторого числа n = " << sum;
По поводу <= я ошибся.
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
29.11.2013, 21:35     Цикл while #5
Кстати, да.
int i = 1;
...
while ( i <= n )
...

Ты не ошибся.
Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 21:37     Цикл while #6
В принципе код верный, так что проверка по идее лишняя... Но раз настаивают, то можно и добавить
Цитата Сообщение от Alex566 Посмотреть сообщение
C++
1
2
if(sum==n*(n+1)/2)
    cout << "Сумма чисел от 1 до некоторого числа n = " << sum;
2ima
☆ Форумчанин(FSC)☆
910 / 289 / 9
Регистрация: 28.04.2013
Сообщений: 2,377
Записей в блоге: 10
Завершенные тесты: 1
29.11.2013, 21:40     Цикл while #7
Цитата Сообщение от Vensus Посмотреть сообщение
Верный код, зачем проверку вообще добавлять?
Всмысле? Чтобы цикл выполнялся пока i<=n!
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
29.11.2013, 21:40     Цикл while #8
В моей рецензии надо поменять 13-ю и 14-ю строки..
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
29.11.2013, 21:43     Цикл while #9
Первым действием в цикле идет инкримент. По этому на последней итерации i и так будет равно значению n. Если поставить <= на последней итерации i будет больше чем n.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 21:51     Цикл while
Еще ссылки по теме:

цикл for C++
C++ цикл for
Цикл for C++
цикл while C++
Цикл while C++

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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
29.11.2013, 21:51     Цикл while #10
Да, менять ничего не надо. Только добавить проверку по формуле.
Yandex
Объявления
29.11.2013, 21:51     Цикл while
Ответ Создать тему
Опции темы

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