Поиск в одномерном массиве |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Поиск в одномерном массиве |
Дима |
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Дима Репутация: 0 |
Натолкните пожайлуста на мысль, вообще что-то всё в голове перемешалось.
Задан массив А, в нём надо найти отрезок максимальной длины, в котором первое число равно последнему, второе предпоследнему и т.д., и потом вывести его на экран. Любым идеям буду признательно благодарен. |
Дима |
Сообщение
#2
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Дима Репутация: 0 |
вот мои идеи, но только, что всё равно не получается
PROGRAM n1; uses crt; const maxsize=15; var a,b:array[1..maxsize] of integer; ia,ib:integer;{индекс элемента массива} na,nb:integer;{количество элементов массива} BEGIN clrscr; repeat write('Задайте количество элементов = '); readln(na); if (na<=0) and (na>maxsize) then writeln('Повторите ввод'); until (na>0) and (na<=maxsize); for ia:=1 to na do begin write('Введите ',ia,'-й элемент массива = '); readln (a[ia]); end; nb:=0; for ia:=1 to na do if a[ia]=a[na] then begin nb:=nb+2; {добавляем количество эл-тов в новом массиве} b[nb]:=a[na]; b[nb-1]:=a[ia]; ia:=ia+1; {делаем шаг на 1 элемент вправо} na:=na-1; {-----ll---- влево} if a[ia]= a[na] then begin nb:=nb+2; b[nb]:=a[na]; b[nb-1]:=a[ia]; end; if ia=na then {проверка на то, что элементы для проверки закончились} writeln; end; for ib:=1 to nb do write(' ',b[ib]:6); repeat until keypressed; end. |
Текстовая версия | 19.04.2024 13:56 |