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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2019, 12:35   #1
Eugene_41
 
Регистрация: 06.09.2019
Сообщений: 5
Злость PascalABC.NET почему memory limit? Шифр Юлия Цезаря

www
Изображения
Тип файла: jpg 5Y9jJTNlyfY.jpg (92.1 Кб, 109 просмотров)
Тип файла: png 11111111.png (31.7 Кб, 91 просмотров)
Eugene_41 вне форума Ответить с цитированием
Старый 06.09.2019, 13:29   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, если не брать во внимание "магическое" число 120, то я бы заменил Read(st) на ReadLn(st)
и Write(st) на WriteLn(st)


поясню своё замечание насчёт 120.
согласитесь, что так лучше:
Код:
if st[i]>='x' then

Последний раз редактировалось Serge_Bliznykov; 06.09.2019 в 13:32.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.09.2019, 14:47   #3
Eugene_41
 
Регистрация: 06.09.2019
Сообщений: 5
По умолчанию

Не помогает
Eugene_41 вне форума Ответить с цитированием
Старый 06.09.2019, 14:58   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Eugene_41 Посмотреть сообщение
Не помогает
очень странно
сочувствую.

а если попробовать завести дополнительную строку, куда собирать результат?
типа
Код:
srez := '';
.....
srez := srez + chr(ord(.....
либо поменяйте алгоритм.
забудьте про ord и chr
заведите строчку со всеми буквами алфавита, ищите в ней позицию через Pos, вычисляете новый индекс в строке и берите символ оттуда.

кстати, а почему именно PascalABC.NET ?
там нельзя выбрать что-то более вменяемое?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.09.2019, 15:14   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

взял PascalABC.NET версии 3.0 и получил ошибку. он не понимает input ??!!

попробуйте такой код
Код:
var
   f,f2 : TextFile;
   st : string[200];
   i : byte;
begin
    Assign (f, 'input.txt');
    Assign (f2 , 'output.txt');
    ReSet (f);
    ReWrite (f2);
    Read(f,st);     
    Close(f);
      for i:=1 to Length(st) do       
        if st[i] >= 'x' then
          st[i] := chr(ord(st[i]) - 23)
        else   
          st[i] := chr(ord(st[i]) + 3);
         
         
    write(f2,st);    
    Close(f2);
    
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.09.2019, 14:26   #6
Eugene_41
 
Регистрация: 06.09.2019
Сообщений: 5
По умолчанию

Не работает
Eugene_41 вне форума Ответить с цитированием
Старый 08.09.2019, 17:41   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Eugene_41 Посмотреть сообщение
Не работает
беда-печаль...

а какую ошибку выдаёт? Неужели так же ML?

а если заменить String на ShortString что будет?
Код:
var
   st : ShortString;
Потребление памяти какое будет?
Ошибка будет такая же или другая?

Либо попробуйте переписать с использованием StringBuilder

p.s. имхо, зря Вы с этим уродцем PascalABC.NET связались. Чтобы его использовать, нужно понимать, что такое .NET Framework и как он работает.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.09.2019, 15:47   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Gemerity Посмотреть сообщение
А у Вас последняя версия PascalABC.NET ?
так ошибку выдаёт не его компьютер.
судя по скриншоту, он выгружает файл на какой-то сервер, тот запускает код онлайн и выдаёт результаты - прошёл тесты или нет.
ну, для примера, см. https://acmp.ru/ https://www.e-olymp.com/ru/ и т.п.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.09.2019, 00:57   #9
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так ошибку выдаёт не его компьютер
Это был спамер, написал бессмысленный пост, вставил скрытую ссылку и ушёл. Не надо ему отвечать.
Вадим Мошев вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифр Цезаря Ти6ка C# (си шарп) 7 21.02.2017 22:19
Шифр Цезаря KksMM C# (си шарп) 1 10.11.2016 10:04
Шифр Цезаря на PascalABC Dasha94 Помощь студентам 1 07.02.2014 16:57
шифр Цезаря Defa4ka Помощь студентам 5 23.10.2011 13:48
Шифр Цезаря Jasper92 Помощь студентам 3 02.12.2009 18:47