/**
* @file SP.cpp
* @autor Батуріна В. А. 515б
* @date 21.05.2023
* @brief Лабораторна робота №5, варіант 19
*
* Застосування вказівників. Завдання 2
*/
#include <stdio.h>
#include <locale.h>
#include "head.h"
int main() {
//підключення підтримки мови
setlocale(LC_ALL, "ukr");
//створення змінних
double arr[10] = { 0 };
double info[4] = { 0 };
printf("\tЦя программа визначає, скiльки елементiв меньше, бiльше, та дорiвнює середньому числу.\n");
printf("\n\t\tВведiть ваш массив 10 чисел: ");
for (int i = 0; i < 10; i++) {
scanf("%lg", arr + i);
}
arr_reading(arr, info);
printf("\n\tСереднє число = %.1lf\n"
"\tКiлькiсть чисел, що > за сер. число: %lg\n"
"\tКiлькiсть чисел, що = сер. числу: %lg\n"
"\tКiлькiсть чисел, що < за сер. число: %lg\n"
,*(info + 0)
,*(info + 1)
,*(info + 2)
,*(info + 3)
);
return 0;
}
/**
* Читає масив, та повертає кількість чисел, що більше, меньше або дорівнює середньому числу.
*
* @param arr - оперючий масив
* @param info - масив повертаних даних
* @return void
*/
void arr_reading(double* arr, double* info);
#include "head.h"
void arr_reading(double* arr, double* info) {
double middle = 0;
for (int i = 0; i < 10; i++) middle += *(arr + i);
*info = middle / 10;
for (int i = 0; i < 10; i++) {
if (*(arr + i) > *info)
(*(info + 1))++;
if (*(arr + i) == *info)
(*(info + 2))++;
if(*(arr + i) < *info)
(*(info + 3))++;
}
}