Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2010, 10:54   #1
ДиM@
Новичок
Джуниор
 
Регистрация: 17.04.2010
Сообщений: 1
По умолчанию Работа со строками (pascal)

На вход программе подается текст заклинания, состоящего не более, чем из 200 символов, заканчивающийся точкой (другие точки во входных данных отсутствуют). Гарри Поттеру нужно зашифровать его следующим образом. Сначала Гарри определяет количество букв в самом коротком слове, обозначив полученное число через K (словом называется непрерывная последовательность английских букв, слова друга от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменяет каждую английскую букву в заклинании на букву, стоящую в английском алфавите на K букв ранее (алфавит считается циклическим, то есть, перед буквой A стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остаются строчными, а прописные – прописными.
Требуется написать программу для Гарри Поттера, которая будет выводить на экран текст зашифрованного заклинания. Например, если исходный текст был таким:
Zb Ra Ca Dab Ra.
то результат шифровки должен быть следующий:
Xz Py Ay Byz Py.
ДиM@ вне форума Ответить с цитированием
Старый 17.04.2010, 14:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Zb Ra Ca Dab Ra.
Нет такого заклинания. Есть avda kedavra, - «что было сказано, должно быть сделано»
А то что тебе нужно это:
http://ru.wikipedia.org/wiki/%D0%A8%...B0%D1%80%D1%8F

Вот и вбей в поиск и получишь примерно таке
http://www.programmersforum.ru/showthread.php?t=3209
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2010, 15:42   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Только вчера (кажись) выкладываи код к этой задачи и просили о блок-схеме.... поиск отключили?
p51x вне форума Ответить с цитированием
Старый 18.04.2010, 09:39   #4
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
const
alfs='abcdefghijklmnopqrstuvwxyz';
alfp='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
als=['a'..'z'];
alp=['A'..'Z'];

var s:string[200];
news:string[200];
i,k:integer;
sub:string;
sm:string;
z:integer;
dl:integer;
begin
Readln(s);
sub:='';
news:='';
i:=1;
k:=200;
while s[i]<>'.' do
begin
 if (s[i] in als) or (s[i] in alp) then
 sub:=sub+s[i]
 else  begin
 if (sub<>'') and (length(sub)<k) then

   k:=length(sub);
   sub:='';
 end;
 inc(i);
end;
 if (sub<>'') and (length(sub)<k) then
  k:=length(sub);
 dl:=i;
 for I := 1 to dl  do
   begin
     if s[i] in als then
       begin
       z:=pos(s[i],alfs);
       news:=news+alfs[((z-k)+26) mod 26];
     end
      else if s[i] in alp then
       begin
       z:=pos(s[i],alfp);
       news:=news+alfp[((z-k)+26) mod 26];
     end
     else news:=news+s[i];
end;
  writeln(s);
  writeln(k);
  writeln(news);
  readln;
end.
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal.работа с символьными массивами и строками Иришка1989 Помощь студентам 3 19.01.2010 01:05
Работа со строками, списками, файлами (Turbo Pascal) kerosine Помощь студентам 2 24.12.2009 02:58
Работа со строками (Pascal) RoMaNyIL Помощь студентам 2 21.05.2009 20:39
Работа со строками. Turbo Pascal JayDe Помощь студентам 14 25.03.2009 20:20
Help со строками Pascal ANARHIST Помощь студентам 4 03.07.2008 17:41