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

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

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

> И снова палиндромы
сообщение
Сообщение #1


l'imbecile divin ^_^
*

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

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


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

Для начала нужно ввести с клавиатуры число N, которое означает количество чисел в строчке. Ниже, ввести в строчку целые числа(через пробел), среди которых нужно найти самые длинные палиндромы. Количество чисел в строке зависит от N.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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.

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


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

 





- Текстовая версия 4.05.2024 12:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name