Информация о росте учащихся одного класса задана в виде массива - C (СИ) (155297)
Формулировка задачи:
Информация о росте учащихся одного класса задана в виде массива. Рост девочек кодируется знаком "+" (плюс), рост мальчиков - знаком "-" (минус). Определите и выведите на экран средний рост мальчиков.
Решение задачи: «Информация о росте учащихся одного класса задана в виде массива»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> #include<time.h> #define ARRAYSIZE 30 void FillArray(void); void DisplayArray(void); void SrArifm(void); int array[ARRAYSIZE]; /* massiv */ main() { FillArray(); DisplayArray(); SrArifm(); getchar(); return 0; } /* zapolnim massiv randomno */ void FillArray(void) { int i,z; srand((unsigned)time(NULL)); /* ustanovka generatora sluch chisel */ for (i = 0; i < ARRAYSIZE; i++) /* zapolnjaem massiv */ { array[i]=140+rand()%50; z=rand()%2; if (z==0) array[i]=array[i]*(-1); } } /* vivo massiva na displej */ void DisplayArray(void) { int i; puts(""); /* nachalo novoj stroki */ for (i = 0; i < ARRAYSIZE; i++) printf("%6d", array[i]); } /*srednee arifm otr chisel*/ void SrArifm(void) { int srar=0; int i,n=0; for (i=0; i < ARRAYSIZE; i++) if (array[i]<0) { srar=srar+array[i]; ++n; } if (n>0) srar=srar/n; printf("\n"); printf("sredn rost malchikov %d\n",srar*(-1)); }
Объяснение кода листинга программы
- Программа начинается с подключения необходимых библиотек: stdio.h, stdlib.h и time.h.
- Затем определяются размеры массива и прототипы функций.
- В функции main() сначала вызывается функция FillArray(), которая заполняет массив случайными значениями, затем функция DisplayArray(), которая выводит массив на экран, и наконец функция SrArifm(), которая находит среднее значение отрицательных чисел в массиве и выводит его на экран.
- Функция FillArray() заполняет массив случайными значениями с помощью функции rand(). Для этого используется генератор случайных чисел, который инициализируется с помощью функции srand(). Цикл for заполняет все элементы массива. При этом каждому элементу присваивается случайное число в диапазоне от 140 до 190, и если случайное число z меньше 1, то элемент массива умножается на -1.
- Функция DisplayArray() выводит массив на экран с помощью цикла for и функции printf().
- Функция SrArifm() находит среднее значение отрицательных чисел в массиве. Для этого используется цикл for, который проходит по всем элементам массива. Если элемент меньше нуля, то он добавляется к переменной srar, а переменная n увеличивается на 1. После прохождения цикла, если n больше 0, то srar делится на n. Затем на экран выводится среднее значение отрицательных чисел в массиве.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д