Умножение ненулевых элементов массива - C (СИ)
Формулировка задачи:
Дано одномерный массив, что состоит c N действителных элементов
-Заполнить массив рандомными числами
-Найти минималный позитивный элемент
- Вычислить умножение не нулевых элементов массива
-Вывести не нулевые элементы на экран в обратном порядке
Решение задачи: «Умножение ненулевых элементов массива»
textual
Листинг программы
- #include <stdio.h>
- #include <time.h>
- #include <Windows.h>
- #define N 10
- #define LOW_BORDER -100
- #define HIGH_BORDER 100
- int main(int argc, char *argv[])
- {
- srand(time(NULL));
- int arr[N], min, i, Product = 1;
- int temp_element = 0;
- printf("Randomly generated array of %d elements:\n", N);
- for (i = 0; i < N; i++) {
- arr[i] = rand() % (HIGH_BORDER + 1 - LOW_BORDER) + LOW_BORDER;
- printf("%2d ", arr[i]);
- if (arr[i] > 0) min = arr[i];
- }
- for (i = 0; i < N; i++) {
- if (arr[i] > 0) {
- if(arr[i] < min) {
- min = arr[i];
- }
- }
- if (arr[i] != 0) {
- Product *= arr[i];
- }
- }
- printf("\n\n\nNon zero elements in a reverse order\n");
- for (i = N-1; i >= 0; i--) {
- if (arr[i] != 0)
- printf("%2d ", arr[i]);
- }
- printf("\n\nThe product is equal: %d\n", Product);
- printf("\n\nThe minimal positive element: %d\n", min);
- system("pause");
- return 0;
- }
Объяснение кода листинга программы
В этом коде происходит следующее:
- Сгенерируйте случайный массив целых чисел в диапазоне от -100 до 100 с помощью функции
rand()
. - Найдите минимальный ненулевой элемент массива, которым занимается переменная
min
. - Умножьте все ненулевые элементы массива, используя переменную
Product
. - Выведите массив в обратном порядке, показывая только ненулевые элементы.
- Выведите произведение всех ненулевых элементов массива.
- Выведите минимальный ненулевой элемент массива.
- Подождите, пока пользователь не нажмет любую клавишу, чтобы остановить программу. Вот список переменных и их значений:
arr
- массив из 10 целых чисел.min
- минимальный ненулевой элемент массива.i
- счетчик для двух циклов.Product
- произведение всех ненулевых элементов массива.temp_element
- временный элемент, используемый в процессе поиска минимального ненулевого элемента.N
- количество элементов в массиве.LOW_BORDER
иHIGH_BORDER
- границы диапазона случайных чисел.time(NULL)
- текущее время, используемое для инициализации генератора случайных чисел.srand(time(NULL))
- инициализация генератора случайных чисел с использованием текущего времени.printf
- функция для вывода информации на консоль.system(
pause)
- приостановка программы до нажатия клавиши пользователем.return 0
- завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д