Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 08.06.2019
Сообщений: 3

Кодировать и декодировать символы путем сдвига их на определенные 5 чисел в диапазоне от -9 до 9

10.06.2019, 23:37. Показов 439. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кодировать и декодировать символы путем сдвига их на определенные 5 чисел в диапазоне от -9 до 9 которые каждый раз рандомно генерируются массивом, записываются в файл при кодировке и извлекаются из него при декодировке.

В том что я написал есть проблема с декодировкой, кодирует правильно, записывая массив в файл, при декодировке я делаю обратное действие, но при этом декодируется только первый символ на последнюю цифру из массива.


r=3 и r=4 это просто идентификаторы кодировки и декодировки соответственно.

Помогите пж, я уже даже не предполагаю где может быть ошибка


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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
uses crt;
Const
  y = 'АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя ';
 
var 
 a:string;
 r:integer;
 i1,h,h2,i2: integer;
 
 f,f1: text;
 
p:array [-67..67] of integer;
s1,s2:string;
 
if r=3 then 
begin
assign(f, 'text.txt');
writeln('Введите текст');
readln(s1);
rewrite(f);
     for h:=1 to 5 do
     begin
     p[h]:= random(10)-random(10); 
     write(p[h]:3);
       write(f,p[h]:3);    
     end;
      close(f);
      for i1:= 1 to length(s1) do
       begin
       If (Pos(s1[i1],y)<>0) then
       begin
       h:=Pos(s1[i1],y)+p[(i1-1) mod 5+1];
       if h>length(y) then h:=h-length(y);
       if h<1 then h:=length(y)+h;
       s1[i1]:=y[h];
       end;
end;     
    writeln;
       writeln(s1);
end;
 
if r=4 then
begin
readln(s2);
assign(f1, 'text.txt');
reset(f1);
  for h2:= 1 to 5 do
    begin
      while not eof(f1) do
       begin
        read(f1,p[h2]);
        write(p[h2]:3);
       end;
         
   end;
  close(f1);
writeln;
    n:=length(s2);
    for i2:= 1 to n do
       begin
       If (Pos(s2[i2],y)<>0) then
       begin
       h2:=Pos(s2[i2],y)-p[(i2-1) mod 5+1];
       writeln(s2[i2],' ',h2,' ',(i2-1) mod 5+1);
       if h2>67 then h2:=h2-67;
       if h2<1 then h2:=67+h2;
       write(' ',h2);
       s2[i2]:=y[h2];
       
       end;
       
       
end;     
    writeln;
       writeln(s2);
    
end;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2019, 23:37
Ответы с готовыми решениями:

Кодировать и декодировать unicode
Есть текст crkz = '\u0438\u0437 \u041a\u0438\u0442\u0430\u044f \u0432\u043e \u0432\u0441\u0435 \u0433\u043e\u0440\u043e\u0434\u0430...

Кодировать/декодировать данные по протоколу RSA
Делаю алгоритм рса, зашифровал в файл свою последовательность, теперь нужно её же считать и расшифровать. import random, codecs def...

Как вручную кодировать и декодировать текст?
здрасьте. у меня другой вопрос: как то же самое реализовать вручную? по какому принципу? (начало обсуждения в теме...

1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
11.06.2019, 04:05
Во-первых, эта программа, в отличие от предыдущей, уже и не запускается!
Вероятно нужно сделать откат к версии: Не могу понять в чем ошибка.

А во-вторых, уберите uses crt и сможете воспользоваться отладчиком, раз читать не умеете!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2019, 04:05
Помогаю со студенческими работами здесь

Как кодировать и декодировать файлы алгоритмом Rijndael
Может кто нибудь подскажет код как кодировать и декодировать файлы алгоритмом Rijndael ? Примного благодарен)

Почему нужно кодировать и декодировать данные при передаче по сети
Socket handler = sListener.Accept(); string data = null; // Мы дождались клиента, пытающегося с нами соединиться ...

Считать информацию из одного файла, кодировать во второй и декодировать в третий
Привет, как сделать чтобы программа работала с файлом. Т.е. брала информацию из одного, кодировала во второй и декодировала в третий? ...

Написать программу, которая будет кодировать (и потом декодировать) строку на английском
Ребята, срочно нужно написать программку, подсобите, пожалуйста! Задача: написать программу, которая будет кодировать (и потом...

Написать код (декодировать строки, метод сдвига)
Доброго времени суток! Перейду сразу к делу, нужно написать код, который будет декодировать нужные для меня строки. Текст закодирован...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru