Найти среднее арифметическое элементов массива, которые кратны заданному числу и определить количество элемент - 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;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены переменные:
    • size - размер массива, равный 12;
    • array - массив из 12 элементов;
    • a - переменная для получения числа от пользователя;
    • quantity - количество элементов, которые будут найдены;
    • i - счётчик для цикла;
    • m - переменная для хранения среднего арифметического.
  2. С помощью функции scanf в переменную a заносится число, которое вводит пользователь.
  3. В цикле перебираются все элементы массива. Если элемент равен a, то он прибавляется к переменной m, а переменная quantity увеличивается на 1.
  4. После окончания цикла переменная m делится на количество найденных элементов (переменная quantity), чтобы получить среднее арифметическое.
  5. В цикле перебираются все элементы массива. Если элемент больше среднего (переменная m), то к переменной quantity добавляется 1.
  6. В конце программы выводится количество элементов, которые больше среднего.
  7. Программа возвращает 0, заканчивая свою работу.

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы