Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
 Аватар для Unrealler
654 / 352 / 113
Регистрация: 11.12.2009
Сообщений: 508

Найти в строке палиндром максимальной длины

28.03.2010, 18:30. Показов 4737. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ограничение по времени: 1 секунда
Ограничение по памяти: 64 мегабайта
Как вы помните, месклениты отправились в экспедицию. Однажды руководителю экспедиции потребовалось отправить на разведку специальный отряд, состоящих из лучших мескленитов. Для этого он выстроил всю команду в шеренгу.

Цвет панциря каждого мескленита обозначается заглавной латинской буквой (от "A" до "Z" ). В целях экономии времени руководитель собирается выбрать из шеренги несколько подряд стоящих. Кроме того, он считает, что разведка будет более удачной, если выбранный отряд будет симметричен по цветам панцирей. Например, отряд "RGBGR" будет симметричным, а отряд "RGRB" – нет.

Требуется выбрать из шеренги мескленитов максимально возможный отряд, удволетворяющий данным условиям.

Формат входного файла
Дана строка, длина которой не превосходит 255 символов – цвета мескленитов в шеренге.

Формат выходного файла
Выходные данные представляют собой строку – выбраный отряд мескленитов. Если возможных вариантов ответа несколько, то требуется вывести находящийся ближе к началу шеренги.
Не пойму, что у меня неправильно в решении
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
uses crt;
function palindrom(r:string):boolean;
var
   i:integer;
begin
 palindrom:=true;
 for i:=1 to length(r)div 2 do
  if (r[i]<>r[length(r)-i+1]) then palindrom:=false;
end;
var
   s,r:string;
   i,otr,nach:integer;
begin
clrscr;
readln(s);
otr:=2;
nach:=1;
if (length(s)<=2) then r:=s else
while (nach<=length(s)) do
 begin
  r:='';
  inc(otr);
  if (otr=length(s)+1) then
   begin
    inc(nach);
    otr:=nach+2;
   end;
  for i:=nach to otr do
   r:=r+s[i];
  if (palindrom(r)=true) then break;
  if (nach=length(s)-2) and (otr=length(s)) then
   begin
    r:=copy(s,1,3);
    break;
   end;
 end;
writeln(r);
readln
end.
Добавлено через 4 часа 3 минуты
Никто не знает?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2010, 18:30
Ответы с готовыми решениями:

Найти в строке палиндром максимальной длины
Задача: найти максимальной длины палендром. Решение: var Str: string; Found: boolean; function IsEqual(s: string):...

Найти в строке s и вывести в файл ‘output.txt’ слово максимальной длины
Помогите пожалуйста. Если не сложно, можно описать вкратце как вы действовали :) Считать из файла ‘input.txt’ строку s. Найти в строке s...

Найти палиндром максимальной длины.
Вариант 7(к.р) 1. Описание функции в Турбо Паскале. 2. Понятие перечисляемого и интервального типов данных. 3. Задача. Дана матрица...

1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
29.03.2010, 10:04
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses crt;
function palindrom(r:string):boolean;
var
   i:byte;
begin
 palindrom:=true;
 for i:=1 to length(r)div 2 do
  if (r[i]<>r[length(r)-i+1]) then palindrom:=false;
end;
var
   s,r,s1:string;
   i,j,mx:byte;
begin
clrscr;
writeln('Введите строку:');
readln(s);
if length(s)<2 then r:=s
 else
  begin
   mx:=1;
   for i:=1 to length(s)-1 do
   for j:=i+1 to length(s) do
    begin
     s1:=copy(s,i,j-i+1);
     if palindrom(s1) and(j-i+1>mx) then
      begin
       mx:=j-i+1;
       r:=s1;
      end;
    end;
 end;
writeln('Палиндром максимальной длины=',r);
readln
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.03.2010, 10:04
Помогаю со студенческими работами здесь

В каждой строке текста найти слово максимальной длины и записать найденные слова и их длину в новый файл
1) Создать текст, вводя данные с клавиатуры, В каждой строке текста найти слово максимальной длины и записать найденные слова и их длину в...

В заданной строке символов найти слова минимальной и максимальной длины и выдать позиции, с которых они начинаются.
В заданной строке символов найти слова минимальной и максимальной длины и выдать позиции, с которых они начинаются. Подсчитать количество...

Палиндром максимальной длины
Кролик Роджер очень любит играть. Особенно он любит играть палиндромом. Он так забавився палиндромом, что нечаянно уронил ... Беда, потому...

Найти в строке слово максимальной длины
Написать программу , с помощью которой в предложении , состоящем из букв и цифр , найти слово ( состоящие из цифр) максимальной длинны....

Найти в строке подстроку максимальной длины
Найти в строке подстроку максимальной длины, состоящей из одного символа.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru