Вычислить произведение всех элементов в отрезке АВ, сумму кубов вне отрезка АВ и их среднеарифметическое. - C (СИ)
Формулировка задачи:
Вот текст задания - Ввести массив от 0 до 20 целочисленный, ввести А и В, где А меньше В и вычислить произведение всех элементов в отрезке АВ, сумму кубов вне отрезка АВ и их среднеарифметическое.
Программа не правильно считает произведение элементов массива на интервале АВ(перемножает все элементы), сумму кубов и среднеарифметическое вне интервала АВ. Где я ошибся, подскажите пожалуйста?!
#include <stdio.h> #include <math.h> int main (void) { int n=-100,a,b,sred,i,proiz=1,cube; for (;(n<=0)||(n>=20);) { printf ("Enter size massive "); scanf ("%i", &n); } int mass[n]; for (i=0;i<n;i++) { printf ("Enter mass[%i] = ", i); scanf ("%i", &mass[i]); } printf ("Enter a = "); scanf ("%i", &a); printf ("Enter b = "); scanf ("%i", &b); for(i=0;i<n;i++) { if((mass[i]>=a)&&(mass[i]<=b)) { proiz*=mass[i]; } } for(i=0;i<n;i++) { if((mass[i]<=a)&&(mass[i]>=b)) { cube+=pow(mass[i],3); } } sred=cube/i; printf ("\n Proizvedenie = %i", proiz); printf ("\n Cube = %i", cube); printf ("\n Srednee = %i", sred); return 0; }
Решение задачи: «Вычислить произведение всех элементов в отрезке АВ, сумму кубов вне отрезка АВ и их среднеарифметическое.»
textual
Листинг программы
if((mass[i]<=a)&&(mass[i]>=b))
Объяснение кода листинга программы
В данном коде выполняется вычисление произведения всех элементов в отрезке АВ, суммы кубов вне отрезка АВ и их среднеарифметического.
- Объявляются следующие переменные:
- mass: массив, содержащий значения, которые нужно обработать;
- a: значение первого элемента отрезка АВ;
- b: значение последнего элемента отрезка АВ;
- n: количество элементов в массиве;
- res: переменная для хранения произведения элементов отрезка АВ;
- sum: переменная для хранения суммы кубов вне отрезка АВ;
- avg: переменная для хранения среднеарифметического.
- Вычисляется произведение всех элементов в отрезке АВ:
- Для каждого элемента массива проверяется условие: если элемент находится в отрезке АВ (то есть его значение больше или равно a и меньше или равно b), то его значение умножается на res.
- Вычисляется сумма кубов вне отрезка АВ:
- Для каждого элемента массива проверяется условие: если элемент находится вне отрезка АВ (то есть его значение меньше a или больше b), то его куб вычисляется и добавляется к сумме sum.
- Вычисляется среднеарифметическое:
- Суммируются все значения элементов массива;
- Полученная сумма делится на общее количество элементов в массиве n.
- Выводятся результаты вычислений:
- Произведение элементов отрезка АВ: res;
- Сумма кубов вне отрезка АВ: sum;
- Среднеарифметическое: avg.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д