Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 29.09.2012, 14:21   #1 (permalink)
slav@
Новичок
 
Регистрация: 29.09.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Заполнение матрицы буквами

дан текст.вводится ключ с помощью которого осуществляется заполнение матрицы по строчкам.написать программу заполнения матрицы.вот пример задания
Миниатюры
nieiie.png  
slav@ вне форума   Ответить с цитированием

Старый 29.09.2012, 14:21
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Потратьте минутку на прочтение аналогичных по содержанию топиков

При загрузке экран с буквами на ACER ASPIRE 5750G
Матрицы в С++
Матрицы

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

Вам на Аде или Кобол сойдёт?
Vladimir_S вне форума   Ответить с цитированием
Старый 29.09.2012, 20:49   #3 (permalink)
slav@
Новичок
 
Регистрация: 29.09.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

мне если можно,то на паскале......на бейсике еще можно
slav@ вне форума   Ответить с цитированием
Старый 29.09.2012, 21:05   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ничего не понял: в таблице переставлены только строки в соответствии с ключом k1, ключ k2 не задействован. Это как?
Vladimir_S вне форума   Ответить с цитированием
Старый 29.09.2012, 21:08   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

А, нет - отбой, понял.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 29.09.2012, 21:59   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ну вот Вам на Free Pascal. Сразу предупреждаю - на Pascal ABC не пойдет: этот ублюдочный продукт типизированных констант в упор не понимает.
Код:
Const
 k1:Array[1..6] of Byte=(5,3,1,2,4,6);
 k2:Array[1..4] of Byte=(4,2,3,1);
 Coded_Text:String='ПСНОРЙЕРВАИК ЕАНФОИЕОТШВ';
Var
 Decoded_Text_1,Decoded_Text_2,S:String;
 i,j:Byte;
Begin
 Writeln(Coded_Text);
 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;
 Writeln(Decoded_Text_1);
 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.
Миниатюры
fp01.jpg  
Vladimir_S вне форума   Ответить с цитированием
Старый 30.09.2012, 10:31   #7 (permalink)
slav@
Новичок
 
Регистрация: 29.09.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

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

Цитата:
Сообщение от slav@ Посмотреть сообщение
coded_text не константа.мы вводим текст шифрование перестановкой,и на основе этого текста по ключам создаем матрицу.....вот у меня не получается ее создать((
Пустяки - сейчас добавлю.
Но вот чего я не пойму, так это того, а что делать, если текст содержит НЕ 24 позиции? То есть меньше или больше. Ведь ключи подобраны именно под 24.
Vladimir_S вне форума   Ответить с цитированием
Старый 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.
Миниатюры
fp01a.jpg  
Vladimir_S вне форума   Ответить с цитированием
Старый 04.10.2012, 15:33   #10 (permalink)
slav@
Новичок
 
Регистрация: 29.09.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

а если поменять второй ключ то расшифровка работает неправильно(((((((
slav@ вне форума   Ответить с цитированием
Ads

Яндекс

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

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:19.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.