И снова палиндромы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
И снова палиндромы |
James Montegry |
Сообщение
#1
|
l'imbecile divin ^_^ Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Знаю, что тем о палендроме уже открыто очень много, но в них я не нашел именно того, что мне нужно.
Для начала нужно ввести с клавиатуры число N, которое означает количество чисел в строчке. Ниже, ввести в строчку целые числа(через пробел), среди которых нужно найти самые длинные палиндромы. Количество чисел в строке зависит от N. |
volvo |
Сообщение
#2
|
Гость |
Цитата Копипаст - это не сложно, я щитаю. Я так не считаю, вот в чем дело... Незачем копировать десятки раз одно и то же. Для этого и есть Frequently Asked Questions, чтобы не заниматься сплошным копи-пастом...Цитата Как определять палиндром я нашел, но вот как определить его с целого ряда цифр, я не знаю. По одному числу передавать в функцию: { здесь is_palindrom из FAQ-а } Если вместо занесения в массив палиндрома сразу же проверять его длину и заносить в массив только числа максимальной длины - то получишь именно то, что тебе нужно... Пробуй... |
James Montegry |
Сообщение
#3
|
l'imbecile divin ^_^ Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Я все сделал как ты сказал, но прога вместо палиндромов, просто выдает все числа, которые я ввел. Вот код проги:
Код Program symmetry; function is_palindrom(x: longint):boolean; var prev, T: longint; begin prev:=x; T:=0; while x<>0 do begin T:=T*10+(x mod 10); x:=x div 10; end; is_palindrom:=(prev=T) end; type PT=^T; T=array[1..1] of longint; var arr: PT; n,count,i:integer; X: longint; begin write('n= '); readln(n); getmem(arr, n * sizeof(longint)); count:=0; while not eoln do begin read(X); if is_palindrom(X) then begin inc(count); arr^[count]:=X; end; end; for i:=1 to count do writeln(arr^[i]); freemem(arr,n * sizeof(longint)) end. |
Текстовая версия | 4.05.2024 12:28 |