Определить количество и процентное соотношение положительных, отрицательных и нулевых элементов - C (СИ)
Формулировка задачи:
Разработать программу, которая формирует случайным образом в диапазоне [-99, 99] одномерный целочисленный массив из N элементов (N вводится) и определяет количество и процентное соотношение положительных, отрицательных и нулевых элементов.
Решение задачи: «Определить количество и процентное соотношение положительных, отрицательных и нулевых элементов»
textual
Листинг программы
#include <stdio.h>
#include <time.h>
#include <Windows.h>
#define LOW_BORDER -99
#define HIGH_BORDER 99
int main(int argc, char *argv[])
{
srand(time(NULL));
int *arr, min, i, size;
int count_neg = 0, count_zero = 0, count_pos = 0, count_sum;
printf("Enter the number of elements in array\n");
scanf("%d", &size);
arr = malloc(size * sizeof(int));
printf("Randomly generated array of %d elements:\n", size);
for (i = 0; i < size; i++) {
arr[i] = rand() % (HIGH_BORDER + 1 - LOW_BORDER) + LOW_BORDER;
printf("%2d ", arr[i]);
}
for (i = 0; i < size; i++) {
if (arr[i] > 0) {
count_pos++;
}
else if (arr[i] < 0) {
count_neg++;
}
else if (arr[i] == 0) {
count_zero++;
}
}
count_sum = count_pos + count_neg + count_zero;
printf("\nThe number of positive elements is %d, what is %f percents\n", count_pos, ((double)count_pos / count_sum) * 100);
printf("The number of positive elements is %d, what is %f percents\n", count_neg, ((double)count_neg / count_sum) * 100);
printf("The number of positive elements is %d, what is %f percents\n", count_zero, ((double)count_zero / count_sum) * 100);
system("pause");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем границы для случайного генерирования чисел
- Инициализируем переменные для подсчета количества положительных, отрицательных и нулевых элементов, а также переменную для хранения суммы элементов
- Запрашиваем у пользователя количество элементов в массиве
- Выделяем память под массив с помощью функции malloc
- Выводим случайно сгенерированный массив на экран
- Проходим по всем элементам массива и увеличиваем счетчик в зависимости от значения элемента
- Вычисляем общее количество элементов
- Выводим на экран количество положительных, отрицательных и нулевых элементов в виде процентов от общего количества элементов
- Используем функцию system для приостановки работы программы до нажатия клавиши пользователем
- Возвращаем 0, чтобы указать на успешный конец работы программы