Pascal
Вложений: 1
Не могу решить,помогите пожалуйста :)
"В заданном одномерном массиве натуральных чисел найти площадку максимальной длины, площадкой считается подряд идущие равные между собой элементы" Я написал немного, но код ужасен =) Вложение 37187 readln в конце случайно затесался) |
М-да... такие "шедевры" мне давно не попадались... Там что ни строчка, то скрижаль.
Даже и не знаю, что делать... Конечно, я могу написать программку, но мне бы очень не хотелось, чтобы Вы тупо ее перекатали, сдали и забыли. Хоть попытайтесь в основах языка разобраться! Ну как это в цикле по i у Вас условие if i=i+1? Как такое может быть в принципе? Если бы еще if m[j]=m[j+1] - куда ни шло, а такое... Преобразование типа данных из числового в строковый делается специальной стандартной процедурой Str, а q:='i'+'i' выдаст значение q, равное ii. Перед else разделитель ; не ставится, это ошибка, ввод массива отсутствует начисто, readln; в конце не "случайно затесался", а служит для остановки программы, чтобы дать возможность посмотреть на экране результат, и т.д., и т.п., и проч... Ну ладно, вот программа, решающая данную задачку. Не очень простая, потому некоторые пояснения: 1. Случайным образом заполняется массив из 20 элементов числами в диапазоне от -2 до +1. 2. Массив выводится на экран. 3. Формируются массивы данных по "площадкам": N - количество "площадок". p_sq - номер элемента исходного массива, являющегося первым в каждой "площадке". m_sq - значение одинаковых элементов в "площадке". n_sq - количество элементов в каждой "площадке". 4. Ищется максимум по длинам "площадок". 5. Выводятся на экран данные обо всех "площадках", имеющих максимальную длину. Код:
Program OS; |
Спасибо за помощь! Я только начал изучать язык, Вашу задачу изучу подробно, это очень интересно :)
|
Цитата:
|
Часовой пояс GMT +4, время: 01:12. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.