Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/63: Рейтинг темы: голосов - 63, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 3
1

задача (Шифр Цезаря)

15.04.2009, 22:01. Показов 11792. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
программа автоматической расшифровки текста, большие буквы в большие маленькие в маленькие!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2009, 22:01
Ответы с готовыми решениями:

Шифр Цезаря
помогите нужно сделать прогу шифратор и дешифратор методом Цецаря

Шифр Цезаря
Помогите написать программку, которая будет зашифровывать методом диска шифра Цезаря, т.е. нужно...

Шифр цезаря (не работает)
задача такая сделать шифр цезаря, сдвиг 10, алфавит лат строчные буквы, язык паскаль (тр7) вот...

шифр цезаря, Шенона фано, Хаффамана
Привет всем!!!! Помогите кто может!!!! По учебе завал ничего не успеваю. Нужны исходники на шифр...

5
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
15.04.2009, 22:11 2
Чёт я не пойму... это тебе надо такую программу написать? по подробней можн?
0
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 3
15.04.2009, 22:21  [ТС] 3
Некоторый русский текст, хранящийся в файле, зашифрован следующим образом: каждая буква текста циклически сдвигается на одно и тоже количество символов, а все остальные символы (знаки препинания и пробелы) остаются неизменными. При шифровке большие буквы переходят в большие, а маленькие в маленькие. Будем для простоты считать, что русский алфавит состоит из 32 букв (за буквой «е» следует буква «ж»). Требуется написать программу автоматической расшифровки текста.

Вход: файл input.txt c зашифрованным текстом.

Ограничения: длина текста не превосходит 250 символов.

Выход: Файл output.txt с расшифрованным текстом.
0
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
15.04.2009, 22:34 4
Пример входного и выходного текста можно?
0
138 / 138 / 65
Регистрация: 20.03.2009
Сообщений: 235
16.04.2009, 01:05 5
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const
  len = 32;
 
  {Это символы для выбора столбца таблицы}
  alpha_hor: string = 'АаБбВвГгДдЕеЖжЗзИиКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя';
 
  {Здесь будут символы для выбора строки таблицы}
  alpha_ver: string = '';
 
var
  {Это собственно таблица кодирования}
  table: array[1 .. len, 1 .. len] of char;
 
{функция получает строку S и возвращает строку,
  полученную из исходной сдвигом на N позиций}
function shift(s: string; n: integer): string;
  begin
    s := copy(s, length(s) - pred(n), n) + s;
    delete(s, length(s) - pred(n), n); shift := s
  end;
 
var
  i, j, row, col: integer;
  s: string; ch: char;
 
  key: string;
  is_russian: boolean;
  f_in: file of char; f_out, f_key: text;
begin
  { Заполнение таблицы кодировки }
  for i := 1 to len do begin
    {получаем строку символов для текущей строки таблицы}
    s := shift(alpha_hor, pred(i));
    for j := 1 to len do
      table[i, j] := s[j];
    {
      не забываем первый символ заносить в "хранилище"
      для выбора строк по кодируемой букве
    }
    alpha_ver := alpha_ver + s[1]
  end;
 
  { связываем логические файлы программы с физическими файлами на диске }
 
  { файл с фразой для кодирования - открываем для чтения }
  assign(f_in, 'c:\input.txt');
  {$i-} reset(f_in); {$i+}
 
  { файл для сохранения результата - открываем для записи }
  assign(f_out, 'c:\output.txt');
  {$i-} rewrite(f_out); {$i+}
 
  {
    файл, содержащий ключевое слово - открываем для чтения,
    считываем слово в строковую переменную и закрываем файл
  }
  assign(f_key, 'c:\key.txt');
  {$i-} reset(f_key); {$i+}
  readln(f_key, key);
  close(f_key);
 
  { счетчик закодированных символов }
  i := 0;
  {до конца кодируемого файла делаем следующее:}
  while not eof(f_in) do begin
    { читаем очередной символ }
    read(f_in, ch);
    { находим по нему строку таблицы }
    row := pos(ch, alpha_ver);
    {
      эта переменная содержит значение успеха предыдущей операции
      (если True, то символ присутствует в таблице, иначе False)
    }
    is_russian := (row > 0);
    if is_russian then begin
      { Если символ присутствует в таблице, его надо кодировать }
 
      { увеличиваем счетчик закодированных символов }
      inc(i);
 
      {
        находим столбец по значению ключевого символа
        (операция mod используется, чтобы исключить выход
        за пределы ключа, т.к. длина ключа обычно меньше
        длины шифруемой последовательности)
      }
      col := pos(key[i mod (length(key))], alpha_hor);
      { и заменяем простой символ на зашифрованный (из таблицы) }
      ch := table[row, col];
    end;
    {
      если символ надо было шифровать, он уже зашифрован,
      если он не может быть зашифрован, он остался без изменений.
      Пишем его в выходной файл
    }
    write(f_out, ch)
  end;
 
  { И закрываем оба файла: исходный и зашифрованный }
  close(f_out);
  close(f_in)
end.
нашел в файлах...(код не мой)
1
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 3
24.10.2010, 20:00 6
Привет всем!!!
Шифр замены(код Цезаря)
Занумеровать алфавит исходного сообщения. Пусть m-длина алфавита сообщения; n,k-целые числа и НОД(n,m)=1; A,B-коды букв исходного сообщения и шифра соответственно. Тогда B=(A*n+k) mod m и A=(B-k)*n^(-1) mod m.
Можете помощь???
Заранее всем спасибо)))
0
24.10.2010, 20:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2010, 20:00
Помогаю со студенческими работами здесь

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

Шифр Цезаря
нужно написать программу, шифрующий строку шифром цезаря, причем задается произвольный сдвиг и...

Почему ml? Шифр Юлия Цезаря
var st : string; i : byte; begin Assign (input , 'input.txt'); Assign (output ,...

Шифр Цезаря (нужна блок-схема)
Программа шифрует вводимую строку "Шифром Цезаря",как построить ее блок-схему? Program Shifr; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru