Показать сообщение отдельно
Старый 30.09.2012, 12:44   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ну пожалуйста, только вот нахрена тут эта матрица - хоть убей, не понимаю. Есть кодированный текст, есть ключи, и этого, на мой взгляд, вполне достаточно. А матрица - она так, похоже, просто для наглядности. Но хотите с матрицей - вот Вам с матрицей:
Код:
Const
 k1:Array[1..6] of Byte=(5,3,1,2,4,6);
 k2:Array[1..4] of Byte=(4,2,3,1);
Var
 Coded_Text,Decoded_Text_1,Decoded_Text_2,S:String;
 Matrix:Array[1..6,1..4] of Char;
 i,j:Byte;
Begin
 Write('Enter the Coded_Text: ');
 Readln(Coded_Text);
 Writeln;
 For j:=1 to 4 do
  For i:=1 to 6 do
   Matrix[i,k2[j]]:=Coded_Text[(j-1)*6+i];
 Writeln('  k1\k2      1        2        3        4');
 For i:=1 to 6 do
  begin
   Write('    ',i,'    ');
   For j:=1 to 4 do
    write('    ',Matrix[i,j],'    ');
   Writeln;
  end;
 Writeln;
 Decoded_Text_1:='';
 For j:=1 to 4 do
  begin
   S:=Copy(Coded_Text,(k2[j]-1)*6+1,6);
   Decoded_Text_1:=Decoded_Text_1+S;
  end;
 Decoded_Text_2:='';
 For i:=1 to 6 do
  For j:=1 to 4 do
   begin
    S:=Copy(Decoded_Text_1,(j-1)*6+k1[i],1);
   Decoded_Text_2:=Decoded_Text_2+S;
  end;
 Writeln(Decoded_Text_2);
 Readln;
End.
Изображения
 
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070