IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> И снова палиндромы
James Montegry
сообщение 11.12.2007 9:13
Сообщение #1


l'imbecile divin ^_^
*

Группа: Пользователи
Сообщений: 17
Пол: Мужской

Репутация: -  0  +


Знаю, что тем о палендроме уже открыто очень много, но в них я не нашел именно того, что мне нужно.

Для начала нужно ввести с клавиатуры число N, которое означает количество чисел в строчке. Ниже, ввести в строчку целые числа(через пробел), среди которых нужно найти самые длинные палиндромы. Количество чисел в строке зависит от N.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 11.12.2007 10:11
Сообщение #2


Гость






Цитата
Копипаст - это не сложно, я щитаю.
Я так не считаю, вот в чем дело... Незачем копировать десятки раз одно и то же. Для этого и есть Frequently Asked Questions, чтобы не заниматься сплошным копи-пастом...

Цитата
Как определять палиндром я нашел, но вот как определить его с целого ряда цифр, я не знаю.

По одному числу передавать в функцию:

{ здесь is_palindrom из FAQ-а }

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.

Если вместо занесения в массив палиндрома сразу же проверять его длину и заносить в массив только числа максимальной длины - то получишь именно то, что тебе нужно... Пробуй...
 К началу страницы 
+ Ответить 
James Montegry
сообщение 11.12.2007 10:56
Сообщение #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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
James Montegry   И снова палиндромы   11.12.2007 9:13
volvo   И что конкретно из этого всего вызывает затруднени...   11.12.2007 9:43
James Montegry   volvo И первое, и второе, и третее. У меня затр...   11.12.2007 9:55
volvo   Я так не считаю, вот в чем дело... Незачем копиров...   11.12.2007 10:11
James Montegry   Я все сделал как ты сказал, но прога вместо палинд...   11.12.2007 10:56
volvo   Что ты говоришь? А какие ты ввел числа, я что, дог...   11.12.2007 11:16
James Montegry   n=6 1 2 2 1 0 7 1 2 2 1 0 7 а должно показывать то...   11.12.2007 11:42
volvo   Да? С какого перепуга? Числа рассматриваются ПО ОТ...   11.12.2007 11:44
James Montegry   Нужно найти не числа-палиндромы, а цепочки-палендр...   11.12.2007 11:52
volvo   А теперь перечитай свое первое сообщение... В како...   11.12.2007 11:55
James Montegry   извини, я немного туплю. Просто целую ночь над зад...   11.12.2007 11:56
volvo   В таком случае (я про задачу), тебе вообще лучше р...   11.12.2007 12:13
James Montegry   Большое спасибо. Почему я не могу дать плюсик? Ког...   11.12.2007 12:19
volvo   Смотри здесь: Изменения в системе рейтинга   11.12.2007 12:26
Michael_Rybak   Плюсик за тебя добавил. Темы не дублируй.   11.12.2007 16:41


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"