Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
-2 / 0 / 0
Регистрация: 27.10.2017
Сообщений: 35
1

Расшифровать сообщение

02.11.2017, 21:34. Показов 1026. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданном массиве символов слово зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2017, 21:34
Ответы с готовыми решениями:

Расшифровать сообщение, зашифрованное шифром Цезаря
Написать программу, которая расшифровывает сообщение, зашифрованное шифром Цезаря, перебором всех...

Расшифровать сообщение ("Х"-код)
есть загадка, помогите разгадать, уже весь инет перекопал, не могу даже понять где искать, мб...

Зашифровать и расшифровать сообщение
Помогите пожалуйста решить задачу! У нас есть сообщение, оно состоит из больших латинских букв и...

Расшифровать сообщение, используя частотный анализ текста
Здравствуйте, у меня такая проблема... не могу решить задачу нужно написать код для Lazarus-а, где...

5
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
03.11.2017, 10:22 2
А какой(какие) символы являются разделителями слов в массиве?
0
Фриланс Pascal/Delphi etc
67 / 73 / 16
Регистрация: 25.11.2016
Сообщений: 263
04.11.2017, 10:17 3
Просто выведите массив слов задом наперёд для начала.
0
-2 / 0 / 0
Регистрация: 27.10.2017
Сообщений: 35
08.11.2017, 09:07  [ТС] 4
любые
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
08.11.2017, 12:34 6
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var a:array of char;
    n,i,j,k,i1,i2:integer;
    c:char;
begin
if (trim(Edit1.Text)='')or (pos(' ',Edit1.Text)<2)then
 begin
  ShowMessage('Вы не ввели строку в соответствии с условием');
  Edit1.Clear;
  Edit1.SetFocus;
  exit;
 end;
n:=length(Edit1.Text);
setlength(a,n);
for i:=0 to n-1 do
a[i]:=Edit1.Text[i+1];
i:=0;
while i<n do
if(a[i]<>' ')and((i=0)or(a[i-1]=' '))then
 begin
   i1:=i;
   k:=0;
   j:=i;
   while(j<n)and(a[j]<>' ') do
    begin
     k:=k+1;
     j:=j+1;
    end;
   i2:=i1+k-1;
   for j:=1 to k div 2 do
    begin
     c:=a[i1+j-1];
     a[i1+j-1]:=a[i2-j+1];
     a[i2-j+1]:=c;
    end;
   i:=i+k;
 end
else i:=i+1;
for i:=0 to n-1 do
Edit2.Text:=Edit2.Text+a[i];
end;
0
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru