Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Цикл - C++

28.11.2010, 11:55. Просмотров 710. Ответов 18
Метки нет (Все метки)

Добрый день.Помогите решить задачу с использыванием циклов:
(1+2)+(1+2+3)+...+(1+2+3...+50)
Заранее благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 11:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикл (C++):

Цикл: цикл for вообще никак не воспринимается транслятором - C++
Пишу программу, которая производит различные действия с одномерным массивом. Возникла следующая проблема: цикл for вообще никак не...

Почему цикл на при 1 уходит в бесконечный цикл? - C++
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <string.h> int main() { int x=0, y=0,...

Цикл for/Цикл while Помогите срочно пожалуйста... - C++
1.Вычислить и вывести на экран в виде таблицы значения функции F от x1 до x2 с шагом dx. где a, b и c - действительные числа. 2.Цикл...

Задание на цикл с параметром и цикл с постусловием - C++
Помогите пожалуйста написать программу с этими циклами. 1. Вычислить и напечатать таблицу значений функции Z= (e^-x)sinx для 0<=x<=П,...

Цикл с параметром и цикл с условием - C++
1. Составить программу вычисления суммы первых 10 непарных чисел 2. Дано числовой ряд и некоторое число "епсила". Найти сумму...

заменить цикл for на цикл while - C++
#include <iostream> using namespace std; int main() { int N, M, sum; cout << "Введите число N:" << endl; ...

18
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
28.11.2010, 12:01 #2
  1. sum = 0, a = 1, i = 2;
  2. если i > 50, переходим к пункту 4;
  3. a+=i; sum += a; ++i, переход к пункту 2;
  4. печать sum.
1
legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
28.11.2010, 12:02 #3
C++
1
2
3
4
int sum=0,i;
 
for (i<0;i<50;i++)
{sum=sum+i;}
1
mckent
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 14
28.11.2010, 12:07  [ТС] #4
А какие #include надо использывать в задаче?
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
28.11.2010, 12:10 #5
Цитата Сообщение от mckent Посмотреть сообщение
А какие #include надо использывать в задаче?
По идее - никаких. Но если ты хочешь посмотреть результат работы своей программы хотя бы не через отладчик, то stdio.h (если пишешь на С) или iostream (если пишешь на С++)
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
28.11.2010, 12:18 #6
legend, у Вас какой-то странный цикл
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main ()
{ int sum=0, N; N=50;
for (int i=0; i<=N; i++)
sum=sum+i;
 
printf ("SUMMA=%d", sum);
 
getch ();
return 0;
}
вот текст полной прогрмаммы

Добавлено через 1 минуту
Цитата Сообщение от legend Посмотреть сообщение
C
1
for (i<0;i<50;i++)
неужели это работает
1
legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
28.11.2010, 12:32 #7
go,

ну эт на скорую руку я написал.. оно работает.. до 49 номера

ну можно тада уж и так

C++
1
    for (i<1;i<=50;i++)
Добавлено через 1 минуту
просто уже после матриц привычка не обращать на это внимание...

Добавлено через 5 минут
ну и прикольно потом по 10 мин сидеть и думать почему прога неправильно работает =)
0
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
28.11.2010, 12:38 #8
Цитата Сообщение от legend Посмотреть сообщение
int sum=0,i;
for (i<1;i<=50;i++)
{sum=sum+i;}
да это не та последовательность что указана в автором это последовательность
1+2+3+4...
а надо
(1+2)+(1+2+3)+...+(1+2+3...+50)
вот алгоритм:
C
1
2
3
4
5
for(j = 2, i = 3; i <= 50; ++i)
{
     sum += 1 + j;
     j += i;     
}
1
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
28.11.2010, 12:44 #9
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main ()
{ int sum=0, N, i, c=0; N=50;
for ( i=0; i<=N; i++)
{  c+=i;  sum+=c;  }
 
printf ("SUMMA=%d", sum);
 
getch ();
return 0;
}
Добавлено через 12 секунд
norge_goth, спасибо исправил
1
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
28.11.2010, 12:47 #10
Цитата Сообщение от norge_goth Посмотреть сообщение
да это не та последовательность что указана в автором это последовательность
1+2+3+4...
а надо
(1+2)+(1+2+3)+...+(1+2+3...+50)
Всего лишь надо добавить плюсик перед знаком равно
C++
1
sum += sum+i;
Цитата Сообщение от norge_goth Посмотреть сообщение
C++
1
2
3
4
5
for(j = 2, i = 3; i <= 50; ++i)
{
 sum += 1 + j;
 j += i; 
}
Какой-то "партизанский" вариант.
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
28.11.2010, 12:55 #11
kazak, ваш вариант не правилен
вот мой http://codepad.org/tpPVbcz4
вот ваш http://codepad.org/Tb9HlW5F
0
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
28.11.2010, 12:57 #12
Цитата Сообщение от kazak Посмотреть сообщение
Какой-то "партизанский" вариант.
народ, вы неправильно разложили последовательность, она не раскладывается в последовательное суммирование, то есть
(1+2) + (1+2+3) + (1+2+3+4) + (1+2+3+4+5) +... если разложить

1 + 2 + 3 + 4 + 5 + 7 + 12 +..
это арифметическая прогрессия если в каждой скобке убрать единицу
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
28.11.2010, 12:59 #13
norge_goth,
мой последний код как раз для этой подходит
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
28.11.2010, 13:01 #14
Цитата Сообщение от norge_goth Посмотреть сообщение
1 + 2 + 3 + 4 + 5 + 7 + 12 +..
это арифметическая прогрессия если в каждой скобке убрать единицу
странные у тебя арифметические прогрессии...
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
28.11.2010, 13:09 #15
Цитата Сообщение от go Посмотреть сообщение
kazak, ваш вариант не правилен
Моего варианта сдесь нет

Цитата Сообщение от norge_goth Посмотреть сообщение
народ, вы неправильно разложили последовательность, она не раскладывается в последовательное суммирование, то есть
(1+2) + (1+2+3) + (1+2+3+4) + (1+2+3+4+5) +... если разложить
А по моему скромному мнению народ правильно понял как надо вычислять.

Обощенные идеи Nameless One'а и legend, без опечаток.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
 
int main()
{
   int sum = 1;
 
   for (int i = 2; i <= 50; i++)
      sum += sum+i;
   cout << "Sum = " << sum << endl;
   return 0;
}
0
28.11.2010, 13:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2010, 13:09
Привет! Вот еще темы с ответами:

Изменить цикл for на цикл do-while - C++
помогите передать программу с цикла FOR в цикл DO-WHILE #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

цикл do - while - C++
Ребят, помогите исправить программу. #include&lt;iostream.h&gt; #include&lt;math.h&gt; void main() { int i; double...

Цикл FOR - C++
Решите пожалуйста задачи с помощью цикла FOR 1. Код программы для вывода числа и его квадрата в диапазоне от 1 до 20 2. У меня R...

Цикл for - C++
обьясните пожалуйста что означает for(;n--; и ) , а именно использование символа ; ?


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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