Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Шифровка текста - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите разобраться с побитовыми операциями http://www.cyberforum.ru/cpp-beginners/thread2973.html
А точнее как с помощью только побитовых операций и операции сложения проверить делиться ли число a (unsigned char a) на 3? Заранее спасибо.
C++ Ввод списка записей Нужно разработать программу, в которой осуществляется ....... ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!!)) http://www.cyberforum.ru/cpp-beginners/thread2958.html
C++ Вычисление таблицы длины окружности начиная от значения радиуса R0 до Rn с шагом Rs
1.Составить программу циклического вычисления таблицы длины окружности начиная от значения радиуса R0 до Rn с шагом Rs. Значения R0, Rn, Rs вводить с клавиатуры (все вещественного типа)....
C++ Как построить байт, если биты устанавливаются/сбрасываются через чекбоксы?
То есть как принять значиния от этих чекбоксов я уже сделал (они записываются в отдельные переменные для каждого чекбокса) у меня вопрос как теперь из этих переменных байт сделать..То есть...
C++ Целые числа и расположение их в памяти http://www.cyberforum.ru/cpp-beginners/thread2943.html
Наткнулся тут на один интересный момент. Допустим у нас есть переменная - слово (WORD), равная, например, 45221. Всегда считал, что числа располагаются в памяти от старшего бита к младшему, в сторону...
C++ Файлы последовательного доступа Помогите решить задачу. 7. записать в файл out.txt последовательного доступа N действительных чисел, введенных с клавиатуры. Подсчитать среднее арифметическое чисел этого файла и записать... подробнее

Показать сообщение отдельно
deathsurgut
Сообщений: n/a

Шифровка текста - C++

20.09.2007, 17:08. Просмотров 1859. Ответов 0
Метки (Все метки)

Люди помогите вот код приблежённо тут только нету ввода данных!
Как организовать тут водд данных??
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#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;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru