 
помогите создать собственную таблицу .Закодировать сообщение: Носит Сеня в сени сено,спать на сене
будет Сеня. 0
        0
         0
        0
    Ответы на вопрос
 
        Не пользуйся одной таблицей, это не безопасно. :) Я советую создавать отдельную таблицу для каждой сессии.
Извини, если код будет плохо читаться. Этот сайт не поддерживает табуляцию и не умеет обрабатывать код.
/* only for windows */
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <time.h>
#include <conio.h>
#include <windows.h>
#define ALPH_SIZE 67
#define STR_SIZE_MAX 256
#define RANDOM_MIN 33
#define RANDOM_MAX 126
int main(void) {
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL)); /* for "visible" random */
char str[STR_SIZE_MAX];
printf("Введите строку: ");
scanf("%[^\n]s", str);
printf("\n");
/* encode only these symbols */
char alph[ALPH_SIZE] = "абвгежзиклмнопрстуфхцчшщъыьэюя" \
"АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ .,!?";
char genAlph[ALPH_SIZE];
int i;
for (i = 0; i < ALPH_SIZE; i++) {
/* for beauty */
if ((i % 5 == 0) && (i != 0)) {
printf("\n");
}
genAlph[i] = RANDOM_MIN + rand() % (RANDOM_MAX - RANDOM_MIN + 1);
/* that don't use goto */
if (i > 0) {
if (genAlph[i - 1] == genAlph[i]) {
while (genAlph[i - 1] == genAlph[i]) {
genAlph[i] = RANDOM_MIN + rand() % (RANDOM_MAX - RANDOM_MIN + 1);
}
}
}
SetConsoleTextAttribute(handle, 10 | 0); /* set symbol color to green */
printf("%c", alph[i]);
SetConsoleTextAttribute(handle, 7 | 0); /* set symbol color to white */
printf(" = %c; ", genAlph[i]);
}
printf("\n\n");
char buf[STR_SIZE_MAX] = "";
for (i = 0; i < (int) strlen(str); i++) {
bool coded = false;
int j;
for (j = 0; j < ALPH_SIZE; j++) {
if (str[i] == alph[j]) {
buf[i] = genAlph[j];
coded = true;
}
}
if (!coded) {
buf[i] = str[i];
}
}
printf("Закодированная строка: %s", buf);
getch();
return 0;
}
Пример из программы:
Введите строку: Носит Сеня в сени сено,спать на сене будет Сеня.
а = }; б = `; в = ~; г = 8; д = ^;
е = Q; ж = 6; з = >; и = m; к = *;
л = ?; м = V; н = m; о = S; п = };
р = &; с = p; т = S; у = \; ф = $;
х = h; ц = ]; ч = g; ш = n; щ = 0;
ъ = Y; ы = [; ь = i; э = 5; ю = I;
я = u; А = n; Б = \; В = S; Г = _;
Д = k; Е = 5; Ж = #; З = c; И = g;
К = ~; Л = <; М = /; Н = t; О = 6;
П = t; Р = '; С = i; Т = D; У = E;
Ф = 0; Х = O; Ц = w; Ч = Q; Ш = ';
Щ = 6; Ъ = h; Ы = /; Ь = h; Э = a;
Ю = [; Я = '; = H; . = J; , = w;
! = }; ? = @;
Закодированная строка: tSpmSHiQmuH~HpQmmHpQmSwp}}SiHm}HpQmQH`\^QSHiQmuJ
Таблица даётся только на время сессии и теряет свой смысл после завершения программы. :)
 0
                    0
                     0
                    0
                 
            Конечно, я могу помочь вам создать таблицу для кодирования сообщения. Для этого я предлагаю использовать таблицу замен, где каждой букве будет соответствовать определенный символ или комбинация символов.
Вот пример такой таблицы, которую вы можете использовать для закодирования сообщения:
| Буква | Код | 
|---|---|
| А | @ | 
| Б | # | 
| В | $ | 
| Г | % | 
| Д | ^ | 
| Е | & | 
| Ё | * | 
| Ж | ( | 
| З | ) | 
| И | - | 
| Й | + | 
| К | = | 
| Л | { | 
| М | } | 
| Н | [ | 
| О | ] | 
| П | : | 
| Р | ; | 
| С | < | 
| Т | > | 
| У | ? | 
| Ф | / | 
| Х | \ | 
| Ц | |
| Ч | ~ | 
| Ш | ` | 
| Щ | ! | 
| Ъ | " | 
| Ы | ' | 
| Ь | , | 
| Э | . | 
| Ю | _ | 
| Я | = | 
Теперь вы можете использовать эту таблицу для закодирования сообщения "Носит Сеня в сени сено, спать на сене будет Сеня". Просто замените каждую букву в сообщении на соответствующий ей код из таблицы. Например, вот как будет выглядеть закодированное сообщение:
$%[}{ @&%[] %< @&%[] %/,"& ^@&%[].
Надеюсь, это поможет вам создать свою собственную таблицу для кодирования сообщений!
 0
                    0
                     0
                    0
                Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			