Найти произведение членов ряда - C (СИ)

  1. Даны натуральные числа А1;А2;А3;.... . Признак конца последовательности 0. Определить: (А2-А1)*(А3-А2)*...*(Аn-A(n-1)) Помогите пожалйста Из C++ в CC++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include <iostream> #include <vector> #include <iterator> using namespace std; int main ( ) {   std :: vector < int > vec ( ( std :: istream_iterator < int > ( std :: cin ) ) , std :: istream_iterator <int> ( ) ) ;   int x;   do   {       cin>>x;       vec.push_back(x);   }while (x);   int result = 1 ;   if ( vec.size ( ) > 1 )   {      for ( int i = 1 ; vec[i]; ++i )         result *= vec[i]-vec[i-1] ;         }   std :: cout << "\n" << result << std :: endl ;   system("pause"); }  


textual

Код к задаче: «Найти произведение членов ряда - C (СИ)»

#include <stdio.h>
#include <stdlib.h>
 
//-----------------------------------------------------------------------------
unsigned GetArray(int* array[])
{
    static unsigned i = 0;
    unsigned size;
    int val;
 
    if ((scanf("%d", &val) == 1) && (val != 0))
    {
        ++i;
        size = GetArray(array);
        (*array)[--i] = val;
    }
    else
    {
        size = i;
        *array = malloc(sizeof(int) * size);
    }
 
    return size;
}
//-----------------------------------------------------------------------------
int Func(int array[], unsigned size)
{
    int result = 1;
    unsigned i;
 
    size = size / 2 * 2; // Отсееваем остаток в случае нечётности
 
    for (i = 0; i < size; i += 2)
    {
        result *= array[i + 1] - array[i];
    }
 
    return size ? result : 0;
}
//-----------------------------------------------------------------------------
 
int main()
{
    int* array;
 
    unsigned size = GetArray(&array);
 
    printf("result = %d\n", Func(array, size));
 
    free(array);
 
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

9   голосов, оценка 4.333 из 5



Похожие ответы
  1. Здравствуйте! Данная "программа" должна обрабатывать числа, расстояние между которыми меньше 5, а также находить среди таких двух чисел самое большее чётное произведение. КОМПИЛИРУЕТСЯ ВСЁ НОРМАЛЬНО, НО ИСПОЛЬНЯТЬ ЭТА ГАДЮКА НИЧО НЕ ХОЧЕТ ИМЕННО В СЛУЧАЕ, КОГДА НА ВХОД ПОСУТПАЕТ БОЛЕЕ 5 ЧИСЕЛ. Т.е. цикл for(i=5;i int main(void) {   char j,c;      int i;      int n;      int a[5];      int x;      int max=-1;           scanf("%d",&n);     for (i=0;i<=4;i++){         scanf("%d",&a[i]);         }     for (i=5;imax )&&  (a[j-1]*a[c]%2 ==0))                     max=a[c]*a[j-1];                                             }                     }                 for (j=0;j<4;j++){             a[j]=a[j+1];         }         a[4]=x;         }      if (max==-1)          printf("-1");     else printf ("%d",max);     getchar();     getchar();     return 0; }Добавлено через 9 минут Тэкс... Счётчик тут должен робить... Тэк... Вывод массива когда у его индекса чото вычитаем тоже работает... Угу... Кажется я как-то выхожу из границ массива, но я в упор не могу разглядеть этого... Так, падажжи еманаДобавлено через 37 секунд лол, разглядеть он не может, у тебя две строки где идут пляски с массивамми, там же очевидно и ошибкаДобавлено через 3 минуты эхх, пойти спать или сожжрать таки хлеб с пащтетом? но тогда изжога будет от паштета с хлебом, я не хочу изжоги, антиацида нет с собой

  1. Среди всех n-значных чисел указать те, произведение цифр которых равна данному числу к (пользователь вводит n и k).C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 int main() {     setlocale(LC_ALL, "Rus");     int k, n, a, d, t,i,v;       printf("Введите k\n");     scanf("%d", &k);           printf("Введите n\n");     scanf("%d", &n);     for(n=pow(10,n-1); n

  1. Геометрической*Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивную ф-ю нахождения суммы N первых членов прогрессии.

  1. В общем, нужно сделать с использованием функций Я явно где-то накосячил, потому что выводит только 0 Помогите пожалуйстаC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 /*Найти минимальное из чисел, каждое из которых является произведением всех элементов матриц А, В и D, соответственно.*/ #include #include #include #include int vvod(int**mass, int n,int m); int pr(int**mass, int n, int m); int vyvod(int**mass, int n,int m);   int main() {     int i,j,P,n,m;     int a,b;//первый     int c,d;//второй     int f,g;//третий     puts("Vvedyte kolichestvo strok massiva");     scanf("%d",&a);     puts("Vvedyte kolichestvo stolbcov massiva");     scanf("%d",&b);     int **A[a][b];     vvod(**A,a,b);         puts("Vvedyte kolichestvo strok massiva");     scanf("%d",&c);     puts("Vvedyte kolichestvo stolbcov massiva");     scanf("%d",&d);     int **B[c][d];     vvod(**B,c,d);         puts("Vvedyte kolichestvo strok massiva");     scanf("%d",&f);     puts("Vvedyte kolichestvo stolbcov massiva");     scanf("%d",&g);     int **D[f][g];     vvod(**D,f,g);         //     vyvod(**A,a,b);     vyvod(**B,c,d);     vyvod(**D,f,g);            int p1,p2,p3;    p1=pr(**A,a,b);    p2=pr(**B,c,d);    p3=pr(**D,f,g);        printf("%d %d %d",p1,p2,p3);    // } int vvod(int**mass, int n,int m) {     int i,j;     mass= new int*[n];     for(i=0;i

  1. Подскажите как написать код, очень нужно! Вычислить произведение нечетных элементов массива Х(30), не меньших заданного числа С (На языке С) Буду благодарен за помощь)

  1. НАПИСАНИЕ ПРОГРАММЫ НА ЯЗЫКЕ С ПО РАБОТЕ С ДВУМЕРНЫМИ МАССИВАМИ ПРИ АДРЕСАЦИИ ЭЛЕМЕНТОВ МАССИВА ОБЫЧНЫМ СПОСОБОМ Предусмотреть два варианта ввода элементов массива: ввод с клавиатуры и ввод через генерацию случайных чисел. Оргаинизовать через систему меню. (2 варианта сделать) 1. Ввод элементов матрицы в память компьютера; 2. Вывод элементов матрицы на экран 3.получение результатов согласно заданию с выводом их на экран 4. Выход из программы Задана квадратная матрица порядка N. Вычислить произведение отрицательных элементов, находящихся на побочной диагонали и выше ее.

  1. как написать функцию произведения элементов массива?

  1. Пожалуйста помогите... 1) Найти произведение положительных элементов массива А. Массив А 10 элементов.

  1. Помогите описать массив. Тему вроде понял. А как написать программу не очень для данной задачи. Дано натуральное число n и массив натуральных чисел a [1..n]. Определить произведение нечетных элементов, расположенных после последнего отрицательного элемента. Заранее спасибо.