С помощью генератора случайных чисел сформировать массив D из 18 элементов.вывести его на экран. - C (СИ)
Формулировка задачи:
С помощью генератора случайных чисел сформировать массив D из 18 элементов.вывести его на экран.Найти сумму положительных элементов массива,произведение отрицательных и количество нулей.
в языке Си
Решение задачи: «С помощью генератора случайных чисел сформировать массив D из 18 элементов.вывести его на экран.»
textual
Листинг программы
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (void)
{
const int n = 18;
int a[n], i, s = 0, pr = 1, k = 0, count1 = 0, count2 = 0;
srand(time(0));
for(i = 0; i != n; i++)
{
a[i] = rand() % 21 - 10;
printf("%d ", a[i]);
if(a[i] > 0)
{
s += a[i];
count1++;
}
else
{
if(a[i] < 0)
{
pr *= a[i];
count2++;
}
else k++;
}
}
if(count1 > 0) printf("\nСумма: %d\n", s);
else printf("\nПоложительных нет!\n");
if(count2 > 0) printf("Произведение: %d\n", pr);
else printf("Отрицательных нет!\n");
printf("Количество нулей: %d\n", k);
getch();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
, , , . - Объявляем переменные: — const int n = 18; - размер массива — int a[n]; - сам массив — int i; - счётчик для цикла — int s = 0; - сумма положительных чисел — int pr = 1; - произведение отрицательных чисел — int k = 0; - количество нулей — int count1 = 0; - счётчик положительных чисел — int count2 = 0; - счётчик отрицательных чисел — srand(time(0)); - инициализация генератора случайных чисел
- Входим в цикл for от 0 до n-1 и генерируем случайное число в диапазоне от -10 до 10 с шагом 1 (используем оператор % для получения модуля числа).
- Выводим полученное число на экран.
- Если число положительное, то прибавляем его к сумме s и увеличиваем счётчик count1 на 1.
- Если число отрицательное, то проверяем его знак. Если знак отрицательный, то перемножаем число на pr и увеличиваем счётчик count2 на 1. Если знак положительный, то увеличиваем k на 1.
- После выхода из цикла проверяем значения count1 и count2.
- Выводим на экран полученные суммы и произведения.
- Выводим на экран количество нулей.
- Используем функцию getch() для приостановки выполнения программы до нажатия клавиши.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.