Найти произведение членов ряда - C (СИ) (74607)
Формулировка задачи:
Даны натуральные числа А1;А2;А3;.... .
Признак конца последовательности 0.
Определить:
(А2-А1)*(А3-А2)*...*(Аn-A(n-1))
Помогите пожалйста
Из C++ в C
#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
Листинг программы
#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; }
Объяснение кода листинга программы
В этом коде:
- В функции
GetArray
мы создаем динамический массив, который заполняется числами, вводимыми пользователем. - В функции
Func
мы вычисляем произведение элементов массива. - В функции
main
мы вызываемGetArray
для получения размера массива, а затем вызываемFunc
для вычисления произведения. - Наконец, мы освобождаем память, выделенную под массив, и возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д