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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.10.2016, 11:51   #1
Smile189
Пользователь
 
Регистрация: 01.10.2016
Сообщений: 25
По умолчанию Исправить программу

Исправьте пожалуйста


Код:
var 


Text, Text_1, Text_2, text_3, S: String; 

i, j, kolsimvolov: integer; 
key1: array of Byte; 
key2: array of Byte; 
p, m,t: Boolean; 
r, b: integer; 
Textmatr: Array of array of Char; 

begin 


write('введите кол-во строк в матрице : '); 
readln(r); 
write('введите кол-во столбцов в матрице : '); 
readln(b); 
//--— 
SetLength(Textmatr,r); 
For I := Low(Textmatr) To High(Textmatr) Do SetLength(Textmatr[i],b); 
SetLength(key1,r); 
SetLength(key2,b); 


repeat 
Write('введите текст для кодировки: '); 
Readln(Text); 
kolsimvolov:=Length(text); 
m:=True; 
if kolsimvolov>r*b then 
m:=False; 
if not(m) then 
writeln('Кол-во символов не должно привышать r*b '); 
until m; 
If (kolsimvolov div (r*b))<> 1 then 
begin 
text:=text+' '; 
Inc(kolsimvolov); 
end; 
Repeat 
Writeln('Введите ключ 1 , состоящий из ',r,' символов, через "Enter"'); 
for i:=0 to r-1 do 
Readln(key1[i]); 
p:=true; 
for i := 0 to r - 2 do 
for j := i + 1 to r - 1 do 
if (key1[i]=key1[i+1]) then 
p:=false; 
If Not(p) then 
writeln('Все символы должны быть различны!'); 
Until p; 
Repeat 
Writeln('Введите ключ 2, состоящий из ',b,' символов, через "Enter"'); 
for i:=0 to b-1 do 
Readln(key2[i]); 
t:=true; 

for i := 1 to b - 2 do 
for j := i + 1 to b - 1 do 
if (key2[i]=key2[i+1]) then 
t:=false; 
If Not(t) then 
writeln('Все символы должны быть различны!'); 

Until t; 
Writeln; 
//----------------------------------------------------— 
Writeln; 
//----------------------------------------------------— 
For i:=0 to r-1 do 
For j:=0 to b-1 do 
BEGIN 
//OutPutDebugString(PWideChar(inttostr(i)+' '+inttostr(j))); 
Textmatr[key1[i]-1,j]:=Text[(i)*b+j+1]; 
END; 
Writeln(' k1\k2 '); 
For i:=0 to r-1 do 
begin 
Write(' ',i,' '); 
For j:=0 to b-1 do 
write(' ',textmatr[i,j],' '); 
Writeln; 
end; 
//----------------------------------------------------— 
Text_1:=''; 
For j:=0 to b-1 do
for i:=0 to r-1 do 
begin 
S:=textmatr[i,key2[j]-1]; 
Text_1:=Text_1+S; 
end; 
Writeln('Закодированный текст:',' ',text_1); 
//-----------------------------------------------------— 
Text_2:=''; 
For j:=0 to b-1 do 
begin 
S:=Copy(Text_1,(key2[j]-1)*r+1,r); 
Text_2:=Text_2+S; 
end; 
Text_3:=''; 
For i:=0 to r-1 do 
For j:=0 to b-1 do 
begin 
S:=Copy(Text_2,(j-1)*r+key1[i],1); 
Text_3:=Text_3+S; 
end; 
Writeln('Раскодированный текст:',' ',Text_3); 
//-----------------------------------------------------— 
Writeln; 
Readln; 
End.

должно быть вот так гг.jpg
Smile189 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить программу sasharom97 Паскаль, Turbo Pascal, PascalABC.NET 2 01.12.2015 21:38
Исправить программу linass Фриланс 8 14.05.2013 15:22
исправить программу Александрq Помощь студентам 0 05.11.2012 00:25
исправить программу в С++ paul0 Помощь студентам 0 26.05.2011 12:20
Исправить программу amfisat Общие вопросы C/C++ 3 02.06.2010 08:22