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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2008, 13:13   #1
Froster
Новичок
Джуниор
 
Регистрация: 30.04.2008
Сообщений: 1
По умолчанию

Тема Курсовой Шифратор..
Помогите осталось всего 4 дня
0 1 2 3 4 5
0 З И Ы Р С
1 А Т У Й Ь Э
2 Б В Ф К Л
3 М Ю Я Г Х Ц
4 Ч Н О Д Е
5 Ж Ш Щ П



Каждая буква кодируеться парой цифр: первая -номер строки; Вторая -номер столбца.

Расшифруйте и ответье на вопрос: 53424045311224423053143111450402304 54511530445023012524505112242534504 4544404525422245244230?

0 1 2 3 4 5
0 _ З И Ы Р С
1 А Т У Й Ь Э
2 _ Б В Ф К Л
3 М Ю Я Г Х Ц
4 Ч Н О _ Д Е
5 Ж Ш Щ П

Последний раз редактировалось Stilet; 05.05.2008 в 10:54.
Froster вне форума Ответить с цитированием
Старый 02.05.2008, 13:49   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Элементарное задание.
Берём массив нужной размерности. Записываем туда эту таблицу.
Берём строку, считываем по две цифры. Эти цифры и есть индекцы массива. По этим индексам находим букву и так далее до конца строки.
Так как непонятно написанна таблица, то придумать чтото трудно.

Цитата:
Помогите осталось всего 4 дня
Решение задачи - 15 мин.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 02.05.2008, 20:31   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Вот вариант решения задачи(все символы в кодировке DOS!):
Код:
Const Cod :Array[0..5, 0..5] of Char = ( (#0, '‡', '?', '›', 'ђ', '‘'),
                                         ('Ђ', '’', '“', '‰', 'њ', 'ќ'),
                                         (#0, 'Ѓ', '‚', '”', 'Љ', '‹'),
                                         ('Њ', 'ћ', 'џ', 'ѓ', '•', '–'),
                                         ('—', 'Ќ', 'Ћ', #0, '…', '„'),
                                         ('†', '?', '™', 'Џ', #0, #0)
                                        );
      Primer :String= '53424045311224423053143111450402304545115304450230 125245051122425345044544404525422245244230';

Var R,C,Z :Byte;
    S0 :String;

 Function DeShifr(S :String):String;
 Var I,Err :Integer;
     S1 :String;
 begin
   DeShifr := '';
   S1 := '';
   I := 1;
  WHILE I<=Length(S) DO
  begin
   IF (S[I] in ['0'..'5'])AND(S[I+1] in ['0'..'5']) Then
   begin
    Val( S[I], R, Err); { Polychaem nomer stroki }
    Val( S[I+1], C, Err); { Polychaem nomer stolbca }
    S1 := S1 + Cod[R, C]; { Polychaem otvet }
     Inc(I, 2);
   end
    ELSE
   begin
    S1 := S1 + S[I];
    Inc(I);
   end;
  end;
   DeShifr := S1;
 end;

 Function Shifr(S :String):String;
 Var I,Err :Integer;
     S1 :String;
 begin
   Shifr := '';
   S1 := '';

  For I:=1 To Length(S) DO
  begin
   IF (S[I] in ['Ђ'..'џ']) Then
   Begin

    For R:=0 To 5 Do
    For C:=0 To 5 Do
    IF Cod[R, C] = S[I] Then
    begin
     S1 := S1 + Chr(R+$30) + Chr(C+$30);
     Break;
    end;

   End
    ELSE
   S1 := S1 + S[I];
  end;
   Shifr := S1; { Polychaem otvet }
 end;

begin
 Writeln('Vivod matrici codirovaniya:');
 For R:=0 To 5 DO
 begin
  For C:=0 To 5 DO
  Write(' ', Cod[R, C]);
  WriteLn;
 end;

 WriteLn('Viberite deystvie:');
 WriteLn(#9, '1-ZaShifrovat,');
 WriteLn(#9, '2-DeShifrovat,');
 WriteLn(#9, '3-DeShifrovat Primer,');
 Write(#9, '4-EXIT. => '); ReadLn(Z);
 WriteLn;
  CASE Z OF
 1: begin
     Write(#13#10, 'Vvedite stroky, dlya Shifrovaniya: '); Readln(S0);
     Write('Otvet= ', Shifr(S0));
     Readln;
    end;
 2: begin
     Write(#13#10, 'Vvedite stroky, dlya DeShifrovaniya: '); Readln(S0);
     Write('Otvet= ', DeShifr(S0));
     Readln;
    end;
 3: begin
     Write('Otvet= ', DeShifr(Primer));
     Readln;
    end;
 4: ;
  END;
end.
___________________________________ ______________________________
++Me

Последний раз редактировалось Alter; 02.05.2008 в 20:33.
Alter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуста с компонентом Terran Компоненты Delphi 3 02.02.2008 14:28
Помогите,пожалуста! Регина Помощь студентам 5 30.05.2007 23:02
Помогите пожалуста!!! juden Общие вопросы Delphi 2 23.05.2007 14:37
Помогите,пожалуста! Регина Помощь студентам 4 17.05.2007 01:19