Найти произведение положительных элементов массива, стоящих после максимального элемента. - C (СИ)
Формулировка задачи:
Ввести массив.Найти произведение положительных элементов массива, стоящих после максимального элемента.
Решение задачи: «Найти произведение положительных элементов массива, стоящих после максимального элемента.»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main()
{
srand(time(NULL));
int array[N];
size_t i;
size_t max = 0;
for (i = 0; i < N; ++i)
{
array[i] = rand() % 20 - 10;
if (array[max] < array[i])
{
max = i;
}
printf("%d ", array[i]);
}
printf("\nmax[%d] = %d\n", max, array[max]);
int result = 1;
for (i = max + 1; i < N; ++i)
{
if (array[i] > 0)
{
result *= array[i];
}
}
printf("result = %d\n", result);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с стандартными функциями, временем и массивами.
- Определяем константу N, которая задает размер массива.
- Инициализируем генератор случайных чисел текущим временем.
- Создаем массив array типа int с размером N.
- Переменная i используется в качестве счетчика в цикле.
- Переменная max инициализируется значением 0 и используется для хранения индекса максимального элемента в массиве.
- Заполняем массив array случайными числами от -10 до 10 с шагом 1.
- В цикле находим максимальное значение в массиве и сохраняем его индекс в переменной max.
- Выводим значения массива на экран через пробел.
- Выводим на экран индекс и значение максимального элемента.
- Инициализируем переменную result единицей.
- В цикле, начиная с индекса max + 1, проверяем каждый элемент массива на положительность и, если он положительный, умножаем его на result.
- Выводим на экран значение переменной result.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.