Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Perl
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 01.10.2011, 13:39   #1
juliajuliajulia
 
Аватар для juliajuliajulia
 
Регистрация: 02.09.2011
Сообщений: 4
Репутация: 10
По умолчанию perl (задача на полиндром)

Помогите ,кто шарит в перле пожалуйста.
такая задача:
__________________________
Задана строка символов. Можно ли разделить строку на три части, так
чтобы из них можно было составить палиндром?
Палиндром -строка, которая пишется одинаково справа налево и слева
направо.
Написать программу, которая запрашивает строку и печатает части, на
которые предлагается делить (каждую часть своим цветом) и с
новой строки один из возможных палиндромов.
Пример (в условных обозначениях).
Строка: АЛАШШ
<red>Ш</red><green>Ш</green><blue>АЛА</blue>
ШАЛАШ

__________________________

у меня она ,в принципе решена,вот код:

Код:

#!/usr/bin/perl
print "Content-type:text/html; charset=KOI8-r\n\n";
$string = $ENV{'QUERY_STRING'};
($x,$mas)=split(/=/, $string);
##############################################
$mas=~tr/+/ /;
$mas=~s/%([\w\d]{2})/pack("c",hex($1))/eg;
#$mas=~tr/+/ /;

#$mas=~s#%2F#/#g;
#$mas=~s#%3C#<#g;
#$mas=~s#%3E#>#g;
#$mas=~s#%26#\&#g;
#$mas=~s#%24#\$#g;
#$mas=~s/%23/#/g;
#$mas=~s#%5C#\\#g;
#$mas=~s#%25#\%#g;


##############################################
@mas=split(//,$mas);
 $len=length($mas);
 $k=$len;

for ($i=0;$i<$len;++$i)
{
   if ($mas[$i] ne $mas[$len-$i-1])
   {
   $k1=$i;
   $i=$len+1;
   print"Не полиндром: ";
   }
   if ($i eq $k-1) {print "Полиндром: ";$k1=$len+3;}
}

print "<br>" ;
print "<table><tr>";
#print "<td>@sec = </td>";
for ($j=0;$j<$len;++$j)
{
if ($j eq $k1){
#print "<font size=5 color='red'>  $mas[$j] </font>";
print "<td BGCOLOR=RED> $mas[$j]</td>";
++$j;} ;
if ($j eq ($len-$k1-1)) {
#print "<font size=5 color='red'>  $mas[$j] </font>";
print "<td BGCOLOR=RED> $mas[$j]</td>";
++$j;} ;
#print "<font size=5 color='blue'>  $mas[$j] </font>" ;
if ($j<$len) { print "<td BGCOLOR=GREEN> $mas[$j] </td>";};


}

посмотреть как он работает можно тут http://ulm.udsu.ru/~justjuliya/ называется CGI2

но вот в чем прикол....если ввести 111211,то предлагается убрать 12 для получения полиндрома...но это не минимально...надо убрать 2,чтоб получилось 11111. в коде не прописан случай ,если количество символов в конечном полиндроме нечетно...я вбщем не знаю как дописать....ребят,помогите пожалуйста,как бы это банально не звучало,но это очен важно и срочно!

icq: 421034383
vk: http://vkontakte.ru/id144593238

Последний раз редактировалось juliajuliajulia; 01.10.2011 в 13:48.
juliajuliajulia вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется web-программист (perl или php, готовый переучиться на perl). офис в Казани uCoz Работа на постоянной основе - Вакансии 0 20.01.2011 19:03
PERL lowkee Фриланс 1 12.11.2010 02:02
Perl isus Perl 3 06.05.2010 10:24
Требуется: Разработчик Perl / Программист–аналитик Perl verait Работа на постоянной основе - Вакансии 0 07.05.2009 12:51




05:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru