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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2007, 09:55   #1
deathsurgut
 
Регистрация: 19.09.2007
Сообщений: 5
По умолчанию Шифровка текста С++

Шифровка текста с помощью решётки заключается в следующем. Решётка, т.е. квадрат из клетчатой бумаги 10х10 клеток, некоторые клетки в котором вырезаны, совмещается с целым квадратом 10х10 клеток и через прорези на бумагу наносятся первые буквы текста. Затем поворачивается на 90 градусов и через прорези записываются следующие буквы. Это повторяется ещё дважды. Таким образом на бумагу наноситься 100 букв текста.Решётку можно изображать квадратной матрицей порядка 10 из нулей и единиц (ноль изображает прорезь). Даны последовательность из 100 букв и матрица ключ.
1)Зашифровать
2)Расшифровать.
Так же рассмотреть случай менее 100 символов!

Можете помочь с кодом? есть на Delphi а надо на С++!
deathsurgut вне форума Ответить с цитированием
Старый 20.09.2007, 12:00   #2
deathsurgut
 
Регистрация: 19.09.2007
Сообщений: 5
По умолчанию

Люди помогите вот код приблежённо тут только нету ввода данных!
Как организовать тут ввод данных??

Код:
#include <iostream>
#include <stdio.h>
const int n = 10;
typedef char sType[n + 1];
typedef sType matrix[n];
const matrix mask = {
    "xxxxx.....",
    "xxxxx.....",
    "xxxxx.....",
    "xxxxx.....",
    "xxxxx.....",
    "..........",
    "..........",
    "..........",
    "..........",
    ".........."
};
const char *st =
    "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
matrix encoded, masked;
void T(matrix &res) {
    matrix mx;
    memcpy(&mx, &res, sizeof(matrix));
    for(int i = 0; i < n; i++)
      for(int j = 0; j < n; j++)
        res[j][n - i - 1] = mx[i][j];
}
void EncodeText(const char *s,
  const matrix &mask, matrix &mx) {
  for(int i = 0; i < n; i++)
    for(int j = 0; j < n; j++)
      strcat(mx[i], " \0");
  matrix masked;
  memcpy(&masked, &mask, sizeof(matrix));
  for(int count = 0; count < strlen(s); ) {
    for(int i = 0; i < n; i++)
      for(int j = 0; j < n; j++)
          if(masked[i][j] == 'x') mx[i][j] = s[count++];
    T(masked);
  }
}
char *DecodeText(const matrix &mask, const matrix &encoded) {
  matrix masked;
  memcpy(&masked, &mask, sizeof(matrix));
  int count = 0;
  char s[255] = "";
  while(strlen(s) < n*n) {
    for(int i = 0; i < n; i++)
      for(int j = 0; j < n; j++) {
        char st[3] = " \0";
        if(masked[i][j] == 'x') {
            st[0] = encoded[i][j];
            strcat(s, st);
        }
      }
    T(masked);
  }
  return strdup(s);
 }
int main()
{
  EncodeText(st, mask, encoded);
  printf ("encoded text: \n");
  for(int i = 0; i < n; i++)
    printf("%s\n", encoded[i]);
  printf("%s\n", DecodeText(mask, encoded));
  return 0;
}

Последний раз редактировалось deathsurgut; 20.09.2007 в 16:56.
deathsurgut вне форума Ответить с цитированием
Старый 20.09.2007, 19:00   #3
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Оффтоп:
Что-то эта задача мне кажется знакомой.
Carbon вне форума Ответить с цитированием
Старый 01.10.2007, 18:58   #4
deathsurgut
 
Регистрация: 19.09.2007
Сообщений: 5
По умолчанию

помогите люди срочно надо
deathsurgut вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифровка Witaliy Общие вопросы Delphi 2 01.05.2008 21:18
обновление в блоге - Шифровка с помощью пароля. Улучшаем алгоритм шифрования 2 Pblog Обсуждение статей 0 15.02.2008 18:30
Шифровка паролем-HELLP DKbelRoma Безопасность, Шифрование 3 13.09.2007 16:20
обновление в блоге - Шифровка с помощью пароля. Улучшаем алгоритм шифрования Pblog Обсуждение статей 0 03.09.2007 16:00
Шифровка паролей MD5 - пароли и хеши Hallo Безопасность, Шифрование 22 26.07.2007 13:53