Умножение ненулевых элементов массива - 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;
}

Объяснение кода листинга программы

В этом коде происходит следующее:

  1. Сгенерируйте случайный массив целых чисел в диапазоне от -100 до 100 с помощью функции rand().
  2. Найдите минимальный ненулевой элемент массива, которым занимается переменная min.
  3. Умножьте все ненулевые элементы массива, используя переменную Product.
  4. Выведите массив в обратном порядке, показывая только ненулевые элементы.
  5. Выведите произведение всех ненулевых элементов массива.
  6. Выведите минимальный ненулевой элемент массива.
  7. Подождите, пока пользователь не нажмет любую клавишу, чтобы остановить программу. Вот список переменных и их значений:
  8. arr - массив из 10 целых чисел.
  9. min - минимальный ненулевой элемент массива.
  10. i - счетчик для двух циклов.
  11. Product - произведение всех ненулевых элементов массива.
  12. temp_element - временный элемент, используемый в процессе поиска минимального ненулевого элемента.
  13. N - количество элементов в массиве.
  14. LOW_BORDER и HIGH_BORDER - границы диапазона случайных чисел.
  15. time(NULL) - текущее время, используемое для инициализации генератора случайных чисел.
  16. srand(time(NULL)) - инициализация генератора случайных чисел с использованием текущего времени.
  17. printf - функция для вывода информации на консоль.
  18. system(pause) - приостановка программы до нажатия клавиши пользователем.
  19. return 0 - завершение программы.

Оцени полезность:

13   голосов , оценка 4.308 из 5
Похожие ответы