Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для SivaMore
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11

Расшифруйте найденную шифровку

03.04.2019, 14:26. Показов 1251. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача Шифровка Не проходит один тест на informaticks. Говорит, что неправильный ответ

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
40
41
42
43
var
  st: char;    
  sl: string[200];  
  k, max, i, n, x: integer;
begin
  k := 0;   
  max := 0; 
  n := 0; 
  repeat
    begin
      read(st);  
      sl := sl + st;  
      n := n + 1; 
      if ((ord(st) > 64) and (ord(st) < 91)) or ((ord(st) > 96) and (ord(st) < 123)) then 
        k := k + 1  
      else 
      if k > max then  
      begin
        max := k;  
        k := 0;   
      end 
      else 
        k := 0;   
    end; 
  until st = '.';  
  for i := 1 to n do 
    if ((ord(sl[i]) > 64) and (ord(sl[i]) < 91)) or ((ord(sl[i]) > 96) and (ord(sl[i]) < 123)) then 
      if (ord(sl[i]) > 64) and (ord(sl[i]) < 91) then 
        if (ord(sl[i]) + max) < 91 then sl[i] := char(ord(sl[i]) + max) 
        else 
        begin
          x := max - (90 - ord(sl[i])); 
          sl[i] := char(64 + x); 
        end 
      else 
      if (ord(sl[i]) + max) < 123 then sl[i] := char(ord(sl[i]) + max) 
      else 
      begin
        x := max - (122 - ord(sl[i])); 
        sl[i] := char(96 + x); 
      end; 
  writeln(sl); 
end.
Миниатюры
Расшифруйте найденную шифровку  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.04.2019, 14:26
Ответы с готовыми решениями:

Задача по преобразованию XML не проходит все тесты, дает ошибку “Неправильный ответ на тест 8”
Задача по преобразованию XML не проходит все тесты, дает ошибку &quot;Неправильный ответ на тест 8&quot;, что-то видимо не учел. ...

Задача не проходит тест
Добрый день. Есть такая простая задача. /* Нужно добавить в программу новую функциональность Задача: У каждой кошки есть имя и...

Задача не проходит тест
Здравствуйте! Нашел задачу и попробовал решить и вроде бы работает, и тесты все проходит, но один тест не дает покоя выводит на единицу...

8
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
03.04.2019, 14:30
Задание в студию. По одному только коду - не понятно что вы пытались сделать.
0
 Аватар для SivaMore
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
03.04.2019, 14:46  [ТС]
Sun Serega, Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в самом длинном слове, его длину обозначим k (словом называется непрерывная последовательность английских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем каждая английская буква заменяется на букву, стоящую в алфавите на k букв ранее (алфавит считается циклическим, то есть перед буквой A стоит буква Z). Другие символы остаются неизменными. Строчные буквы при этом остаются строчными, а заглавные — заглавными. Расшифруйте найденную шифровку.

Входные данные
На вход программе подается текст шифровки, состоящей не более чем из 250 символов.

Выходные данные
Выведите исходный текст.
Примеры
входные данные
Zb Ra Ca Dab Ra.
выходные данные
Ce Ud Fd Gde Ud.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
03.04.2019, 15:16
А k откуда брать?

Добавлено через 7 минут
Если считать константой:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const k=3;
 
begin
  ReadString
  .Select(ch->
  begin
    var upper := ch.IsUpper;
    if upper then ch := ch.ToLower;
    
    if ch.InRange('a','z') then
    begin
      var id := word(ch)-word('a');
      id += k;
      //while id<0 do id += 26;//понадобится если k может быть отрицательным
      ch := char( word('a') + id mod 26 );
    end;
    
    Result := upper?ch.ToUpper:ch;
  end)
  .Print;
end.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
03.04.2019, 15:23
Sun Serega,
Цитата Сообщение от SivaMore Посмотреть сообщение
Сначала определяется количество букв в самом длинном слове, его длину обозначим k
1
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
03.04.2019, 15:48
Лучший ответ Сообщение было отмечено SivaMore как решение

Решение

А, да, точно...

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
begin
  var s := ReadString;
  
  var k :=
    s.Select(ch->ch.ToLower.InRange('a','z')?ch:' ')
    .JoinIntoString
    .ToWords
    .Max(w->w.Length)
  ;
  
  s.Select(ch->
  begin
    var upper := ch.IsUpper;
    if upper then ch := ch.ToLower;
    
    if ch.InRange('a','z') then
    begin
      var id := word(ch)-word('a');
      id += k;
      //while id<0 do id += 26;//понадобится если k может быть отрицательным
      ch := char( word('a') + id mod 26 );
    end;
    
    Result := upper?ch.ToUpper:ch;
  end)
  .Print;
end.
0
 Аватар для SivaMore
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 11
06.04.2019, 14:00  [ТС]
Всем огромное спасибо

Добавлено через 3 минуты
Sun Serega, ошибка компиляции. Что делать?
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
06.04.2019, 14:28
SivaMore, а какой используется компилятор?
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
06.04.2019, 16:00
Цитата Сообщение от SivaMore Посмотреть сообщение
ошибка компиляции
Обновитесь, ибо у меня последняя версия и в ней компилируется:
http://pascalabc.net/ssyilki-dlya-skachivaniya
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2019, 16:00
Помогаю со студенческими работами здесь

О чем говорит тот факт, что чужой капитал фирмы в 10 раз превышает собственный, при том долгов не имеется. Или это вообще не о чем не говорит?
кто-нибудь может объяснить, что в балансе вообще имеется ввиду под собственным капиталом и сторонним?

Вывести 2 города и путь между ними, такой, что он проходит через каждый город ровно один раз
Дан список городов и дорог между ними. Требуется вывести 2 города и путь между ними, такой, что он проходит через каждый город ровно один...

Что делать,если один из пропавших разделов ТЕСТ-ДИСК видит не правильно?
На диске 160gb -1системный,3 логических и скрытый акронис раздел для образа.По неким причинам пропал основной системный и следующий за ним...

Говорит, "неправильный пароль"! Нагло врёт!
Помогите, пожалуйста, раньше всё было нормально, а тут бац... Пытаюсь запустить что-нить, что требует прав рута, после ввода пароля пишет...

Неправильный ответ
Задание: необходимо написать программу, объявит две переменные: первая переменная - переменная целочисленного (int) типа со значением 99,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru