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

циклы вопрос - C++

Восстановить пароль Регистрация
 
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
03.11.2011, 16:12     циклы вопрос #1
Запишите цикл, который суммирует первые 100 натуральных чисел, каждый раз меняя знак числа: 1, -2, 3, -4 и т.д. :

a) используя for;

b) используя while;

c) используя do-while.
не могу понять как в цикле можно такое записать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2011, 16:12     циклы вопрос
Посмотрите здесь:

C++ Очень простой вопрос про циклы
C++ Циклы
C++ Циклы
Циклы C++
Циклы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
03.11.2011, 16:15     циклы вопрос #2
Например
C++
1
2
3
4
5
6
7
for(int i = 0; i <= 100; i++)
{
if(!(i%2))
i = -i;
sum += i; 
}
cout << sum;
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
03.11.2011, 16:23  [ТС]     циклы вопрос #3
если так то понятно я думал в шапке цикла написать

Добавлено через 7 минут
вы написали вечный цикл
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
03.11.2011, 17:23     циклы вопрос #4
Да,ляп,чтобы было не бесконечный надо бы так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
int main(void)
{
    int sum = 0,j = 0;
    for(int i = 0; i <= 100; i++)
    {
        if(!(i%2))
            j = -i;
        else j = i;
    sum += j;
    }
    cout << sum;
}
TwiX
59 / 59 / 1
Регистрация: 27.10.2011
Сообщений: 189
03.11.2011, 17:33     циклы вопрос #5
Вот с while пример... Чуть более элегантно)
C++
1
2
3
4
int i=0, sum=0;
while (i++<100)
   sum=sum+(i%2?i:-i);
cout << sum << endl;
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.11.2011, 18:22     циклы вопрос #6
Можно без делений:
C++
1
2
3
4
5
    for (i = 1; i <= 100; i += 2)
    {
        sum += i;
        sum -= i+1;
    }
А можно вообще ручками сумму найти:
1-2+3-4+...+99-100 = -1-1-...-1 = -50
Yandex
Объявления
03.11.2011, 18:22     циклы вопрос
Ответ Создать тему
Опции темы

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