Найти среднее арифметическое элементов массива, которые кратны заданному числу и определить количество элемент - C (СИ)
Формулировка задачи:
--------------------------------
Индекс 1 2 3 4 5 6
Элемент -10 15 -4 20 1 8
--------------------------------
Индекс 7 8 9 10 11 12
Элемент 11 -3 0 2 -17 15
--------------------------------
Найти число m – среднее арифметическое всех элементов массива, индексы которых
кратны числу a, задаваемому пользователем. Определить количество элементов,
значения которых больше m. Реализовать данную часть задания двумя способами: с
использованием индексов и указателей
не понимаю как реализовать
Решение задачи: «Найти среднее арифметическое элементов массива, которые кратны заданному числу и определить количество элемент»
textual
Листинг программы
#include <stdio.h>
int main() {
const int size = 12;
int array[] = {-10, 15, -4, 20, 1, 8, 11, -3, 0, 2, -17, 15};
int a, quantity, i;
float m = 0;
scanf("%d", &a);
for ( i = 0, quantity = 0; i < size; i++ ) {
if ( i % a == 0 ) {
m += array[i];
quantity += 1;
}
}
m /= quantity;
for ( i = 0, quantity = 0; i < size; i++ ) {
if ( array[i] > m ) {
quantity += 1;
}
}
printf("%d\n", quantity);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
- size - размер массива, равный 12;
- array - массив из 12 элементов;
- a - переменная для получения числа от пользователя;
- quantity - количество элементов, которые будут найдены;
- i - счётчик для цикла;
- m - переменная для хранения среднего арифметического.
- С помощью функции scanf в переменную a заносится число, которое вводит пользователь.
- В цикле перебираются все элементы массива. Если элемент равен a, то он прибавляется к переменной m, а переменная quantity увеличивается на 1.
- После окончания цикла переменная m делится на количество найденных элементов (переменная quantity), чтобы получить среднее арифметическое.
- В цикле перебираются все элементы массива. Если элемент больше среднего (переменная m), то к переменной quantity добавляется 1.
- В конце программы выводится количество элементов, которые больше среднего.
- Программа возвращает 0, заканчивая свою работу.