В одномерном массиве A размерностью n, найти максимальный элемент, расположенный между первым и последним нулевыми элементами массива.
Решение
Таблица соответствия переменных
| Переменные в задаче
| Имя на языке Си
| Тип
| Комментарий
|
| max
| max
| int
| Максимальное число
|
| A[]
| A[]
| int
| Одномерный динамический массив
|
| n
| n
| int
| Количество элементов
|
| –
| t1
| int
| Индекс первого нулевого элемента
|
| –
| t2
| int
| Индекс последнего нулевого элемента
|
| –
| i
| int
| Номер элемента массива; параметр цикла
|
Описание алгоритма
1. блоки 1 – 2 ввод/вывод исходного массива A[];
2. блоки 3 – 5 поиск первого нулевого элемента в массиве;
3. блоки 6 – 7 проверка на наличие в массиве хотя бы одного нулевого элемента и в случаи их отсутствия вывод сообщения «В массиве нет нулей» и переход на конец алгоритма;
4. блоки 8 – 12 поиск последнего нулевого элемента в массиве и сохранение позиции первого нуля в t1, а последнего в t2;
5. блоки 13 – 14 проверка расположения нулевых элементов в массиве и в случаи ошибки вывод сообщения «В массиве только один ноль или они располагаются друг за другом» » и переход на конец алгоритма;
6. блоки 15 – 21 в случаи выполнения проверки (блок 13) поиск максимального элемента между крайними нулевыми элементами и вывод полученного результата.