Найти произведение положительных элементов массива,стоящих после максимального элемента - C (СИ)
Формулировка задачи:
Ввести массив.Найти произведение положительных элементов массива,стоящих после максимального элемента
Решение задачи: «Найти произведение положительных элементов массива,стоящих после максимального элемента»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define MAX 100
main()
{
int mas[MAX],n,i,max,p=1,j=0;
printf("4islo elementov massiva=");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("max[%d]=",i);
scanf("%d",&mas[i]);
}
mas[i]='\0';
max=mas[0];
for(i=1;i<n;i++)
if(max<=mas[i])
{
max=mas[i];
j=i;
}
j++;
for(;j<n;j++) if(mas[j]>0) p*=mas[j];
printf("p=%d",p);
getch();
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и обработки данных.
- Объявление переменной
MAXдля определения максимального размера массива. - Объявление переменных
mas,n,i,max,pиj. - Считывание количества элементов массива с помощью функции
scanf(). - Считывание элементов массива с помощью цикла
forи функцииscanf(). - Установка последнего элемента массива в значение
\0для корректного завершения строки. - Поиск максимального элемента массива и его индекса с помощью цикла
forи условного оператораif. - Увеличение индекса
jна единицу для пропуска пустого элемента массива. - Обход оставшихся элементов массива с помощью цикла
forи условного оператораifдля проверки на положительность и перемножения с переменнойp. - Вывод значения переменной
pс помощью функцииprintf(). - Ожидание нажатия клавиши с помощью функции
getch(). - Завершение программы с возвратом значения
0.