Заменить все элементы массива с отрицательными значениями средним арифметическим положительных - 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; } }
Объяснение кода листинга программы
В этом коде:
- Создается массив
mass
типаint
с размеромN
(100). - Инициализируется переменная
sum
типаint
со значением 0. - Инициализируются переменные
j
иk
типаint
со значением 0. - В цикле
for
генерируются случайные числа от 0 до 99 и записываются в массивmass
с помощью операции модуля%
. - Если сгенерированное число в диапазоне от 0 до 49, то записывается положительное число, иначе — отрицательное.
- Если сгенерированное число положительное, то к переменной
sum
прибавляется его значение, а к переменнойj
прибавляется единица. - После завершения цикла, переменная
sum
делится на переменнуюj
для получения среднего значения положительных чисел. - В цикле
for
происходит замена всех отрицательных чисел в массивеmass
на полученное среднее значение. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д