Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Вычислить произведение ряда (xn + xn-1 + xn-2) …


Автор: bata 12.1.2014, 13:48
Дан массив X из n целых чисел. Вычислить y = xn(xn + xn-1)(xn + xn-1 + xn-2) … (xn + ... + x1) 

Реализовывается через массив, в этом и проблема...
Вопрос, Как заполнить массив для работы с рядом?
Числа забиваются в ручную...
Я создал динамический массив(таково условие),числа вбить тоже не проблема, но как произвести вычисления незнаю 

Автор: vinter 12.1.2014, 14:22
покажи, что ты уже сделал.

Автор: bata 12.1.2014, 20:35
Цитата(vinter @ 12.1.2014,  14:22)
покажи, что ты уже сделал.

Код
#include <conio.h>
#include <stdio.h>
#include <locale.h>
void main()
{
    setlocale(LC_ALL,"Russian");
    printf("Введите число: ");
    int n,*X,p=0;
    scanf("%d",&n);
    X=new int[n];
    for(int i=0;i<n;i++)
      {
        printf("Введите элемент:");
        scanf("%d",&X[i]);
      }
    double summa=0;
    for(int i=n-1;n>i;n--)
     {
         for(int j=0;j>=n>=i;n--)
          {
             p=X[j];
             summa+=X[j];
          }
     }
    p*=summa;
    printf("ИТОГ-%lg",p);
    _getch();
}


Модератор: не забываем пользоваться кнопочкой "Код"

Автор: vinter 13.1.2014, 10:42
Код

int result = 1;
for(int i = n - 1; i >= 0; --i)
{
     int sum = 0;
     for(int j = n - 1; j >= i; --j)
         sum += X[i];
     result *= sum;
}

Как-то так

Автор: feodorv 14.1.2014, 04:54
Цитата(vinter @  13.1.2014,  11:42 Найти цитируемый пост)
         sum += X[ j ];

В принципе, от второго цикла можно и отказаться, если sum вывести за пределы первого...

Автор: bata 14.1.2014, 13:55
Всем спасибо smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)