Заменить все элементы массива с отрицательными значениями средним арифметическим положительных - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Объявить массив целых чисел и заполнить его случайными значениями. Размер массива и диапазон значений его элементов заданы в Вашем варианте индивидуального задания. В индивидуальных заданиях (см. приложение) указано также, какую обработку массива следует произвести. Для всех вариантов задания следует иметь в виду следующее: • 0 считается положительным числом, если в задании не оговорен какой-то другой его статус; • когда речь идет о какой-то последовательности чисел, имеется в виду последовательность с длиной, большей 1; • в тех случаях, когда задание требует выполнения каких-то вычислений, разрешается выполнять их с той точностью, которую обеспечивают операции целочисленной арифметики. Разм. массива | Диапазон значений |Что нужно сделать 100 | -100 - 100 | Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов

Решение задачи: «Заменить все элементы массива с отрицательными значениями средним арифметическим положительных»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main() {
    int i;
    srand(time(NULL));
    int mass[N];
    int sum = 0;
    int j = 0;
    int k = 0;
    for(i = 0; i < N; i++) {
        k = rand() % 2;
        if(k == 0)
            mass[i] = rand() % 100;
        else mass[i] = -(rand() % 100);
        if(mass[i] > 0) {sum+=mass[i];j++;}
    }
    sum/=j;
    for(i = 0; i < N; i++) {
        if(mass[i] < 0) mass[i] = sum;
    }
 
}

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

В этом коде:

  1. Создается массив mass типа int с размером N (100).
  2. Инициализируется переменная sum типа int со значением 0.
  3. Инициализируются переменные j и k типа int со значением 0.
  4. В цикле for генерируются случайные числа от 0 до 99 и записываются в массив mass с помощью операции модуля %.
  5. Если сгенерированное число в диапазоне от 0 до 49, то записывается положительное число, иначе — отрицательное.
  6. Если сгенерированное число положительное, то к переменной sum прибавляется его значение, а к переменной j прибавляется единица.
  7. После завершения цикла, переменная sum делится на переменную j для получения среднего значения положительных чисел.
  8. В цикле for происходит замена всех отрицательных чисел в массиве mass на полученное среднее значение.
  9. Код завершается.

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

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