Заменить все элементы массива с отрицательными значениями средним арифметическим положительных - 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
на полученное среднее значение. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д