Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2017, 21:57   #1
JackVolfskin
Новичок
Джуниор
 
Регистрация: 05.11.2017
Сообщений: 2
По умолчанию C++ Заданные действительные числа x 1 , x 2 , . . . , x 55 . вычислить x 1 (x 2 +x 3 )(x 4 +x 5 +x 6 )(x 7 +x 8 +x 9 +x 10 ) . . . (x 46 +x 47 + . . . +x 55 )

Не могу решить задачу на масив.
Заданные действительные числа x 1 , x 2 , . . . , x 55 .
вычислить x 1 (x 2 +x 3 )(x 4 +x 5 +x 6 )(x 7 +x 8 +x 9 +x 10 ) . . . (x 46 +x 47 + . . . +x 55 )
Не могу понять как сделать суму следующей тройки четверки и тд пар чисел.

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main() {
int x[55];
int sum, i, d;
srand(time(NULL));


sum = 0;
d = 1;
for (i = 0; i < 55; i++)
{
x[i] = i;
//x[i] = (0 + rand() % 10);
for (int j = 1; j < 55 - i; j++)
{

}

for (int j = 55 - 2 * i; j <= 55; j++)
{

}
sum = x[i] + sum;
d = d*sum;
printf("%d \n", sum);
}


system("pause");
return 0;
}
JackVolfskin вне форума Ответить с цитированием
Старый 05.11.2017, 22:01   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,596
По умолчанию

Даже не смотря на код, можно понять, что циклы одинаковы должны быть, можно в одном цикле и присваивать массив и считать сумму.

Глядя на код понимаешь, что циклы различны, дальше смотреть смысла нет.

Т.е. тут должен быть один цикл.
Alar на форуме Ответить с цитированием
Старый 06.11.2017, 09:58   #3
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

Код:
#include <iostream>
#include <ctime>

int main()
{
	const size_t N = 55;

	double v[N];
	srand(time(NULL));

	for (size_t i = 0; i < N; i++)
	{
		v[i] = rand() % 10;
		std::cout << v[i] << "   ";
	}

	std::cout << std::endl;
	
	double summ = 0;
	double proizv = v[0];

	size_t indx_1 = 0, indx_2;

	for (size_t i = 0; i < N; i++)
	{
		indx_1 += i + 1; 
		indx_2 = indx_1 + i + 2;

		if (indx_2 > N) break;

		for (size_t j = indx_1; j < indx_2; j++)
			summ += v[j];
		
		proizv *= summ;
		summ = 0;
	}

	std::cout << proizv << std::endl;

	system("pause");
}
Мановар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны действительные числа s,t. Вычислить: g(15,s)+g(t,s)-g(2s-1,st). (на Delphi) vfrcbvrf23 Помощь студентам 7 18.05.2014 13:50
Даны натуральное n и действительные числа a1, a2...an . Вычислить: a1,a1 a2,a1 a2 a3,...,a1 a2..an Evelina03 Помощь студентам 1 20.05.2013 15:08
Дано действительные числа х и натуральное n=5..10. Вычислить функции.. Sh@rky Общие вопросы Delphi 1 31.10.2010 23:47
Даны действительные числа x, y, z Вычислить: Mystalla Помощь студентам 2 02.03.2010 00:17