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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2016, 21:47   #1
Smile189
Пользователь
 
Регистрация: 01.10.2016
Сообщений: 25
По умолчанию Помогите переделать из паскаля abc в паскаль abc.net

Код:
{ Нужно реализовать шифровку и расшифровку с помощью кодировочной книги. }

const
  MaxWord: integer = 200;

type
  TBook = array[1..MaxWord] of string; // тип для выходного массива слов

function GetWords(const line: string; var words: TBook; var count: integer): integer; // разбиение строки на слова по разделителю
const
  delimiter = [' ',',','.','(',')',':','?','!'];
var
  back,pos,n: integer;
begin
  pos:=1;
  while pos <= length(line) do
    begin
      while (pos <= length(line)) and (line[pos] in delimiter) do pos:=pos+1;
      if pos <= length(line) then
        begin
          back:=pos;
          while (pos <= length(line)) and not(line[pos] in delimiter) do pos:=pos+1;
          n:=n+1;
          words[n]:=copy(line,back,pos-back);
        end;
    end;
  GetWords:=n;
end;

var
  book,txt: TBook;
  shifr: array[1..MaxWord] of integer;
  i,j,k,n: integer;
  str: string;
  key: byte;
  f: text;
  
begin
  assign(f,'kkk.txt');
  reset(f);
  n:=0;
  while not eof(f) do
    begin
      readln(f,str);
      n:=GetWords(str,book,n);
    end;
  close(f);
  writeln('Кодировочная книга успешно прочитана...');
  repeat
    writeln;
    writeln('  < МЕНЮ >  ');
    writeln('  1 - зашифровать текст');
    writeln('  2 - дешифровать текст');
    writeln('  3 - выход');
    writeln;
    write('Введите номер пункта : ');
    readln(key);
    case key of
      1: begin
           write('Введите текст : ');
           readln(str);
           write('Зашифрованный текст : ');
           k:=0;
           k:=GetWords(str,txt,k);
           for i:=1 to k do
             begin
               j:=1;
               while j <= n do
                 begin
                   if txt[i] = book[j] then
                     begin
                       write(j,' ');
                       j:=n;
                     end;
                   j:=j+1;
                 end;
             end;
           writeln;
         end;
      2: begin
           write('Введите количество слов в тексте : ');
           readln(k);
           write('Введите шифр : ');
           for i:=1 to k do read(shifr[i]);
           writeln;
           write('Дешифрованный текст : ');
           for i:=1 to k do write(book[shifr[i]],' ');
           writeln;
         end;
      3: writeln('Нажмите любую клавишу для выхода...');
      end;
  until key = 3;
  readln;
end.
Smile189 вне форума Ответить с цитированием
Старый 08.11.2016, 22:50   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Помогите переделать из паскаля abc в паскаль abc.net
а что не так?
запустил в Pascal ABC - запускается.
этот же код запустил в Pascal ABC.NET - запускается.

В чём конкретно проблема?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2016, 07:49   #3
Smile189
Пользователь
 
Регистрация: 01.10.2016
Сообщений: 25
По умолчанию

в abc.net некорректно работает
Smile189 вне форума Ответить с цитированием
Старый 09.11.2016, 08:12   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Smile189 Посмотреть сообщение
в abc.net некорректно работает
да так же, как и в Pascal ABC
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль ABC.net. Аля321 Паскаль, Turbo Pascal, PascalABC.NET 1 13.05.2015 16:43
паскаль ABC.NET nata1 Фриланс 1 05.12.2013 21:58
паскаль ABC.NET nata1 Помощь студентам 1 04.12.2013 19:45
помогите сделать лабораторную паскаль ABC a44 Помощь студентам 9 05.11.2009 15:15