Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

srs1

.doc
Скачиваний:
20
Добавлен:
24.03.2015
Размер:
39.94 Кб
Скачать

МИНЕСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

КАЗАХСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ ИМЕНИ аль - ФАРАБИ

Механико-математический факультет

Кафедра математического и компьютерного моделирования

СРС №1

Выполнила: Есенқожа Ә. М.

Проверил: Сергалиев А. С.

Алматы, 2014г

(Вариант 5)

Расшифрованный текст:

79 61 31 96 28 35 85 52 26 30 24 21 52 85 59 49 79 30 88 79 49 30 52 79 59 85 26 30 24 21 59 85 42 79 88 61 28 35 86 50 96 28 52 30 50, 24 30 96 74 21 59 90 59 30 96 30 24 85 61 86 26 96 85 88 79 96 79 24 61 79 11 28 52 79 78 31 85, - 21 50 30 96 85 31 21 61 59 31 85 11 26 79 24 96 79 59 35 79 31 59 96 30 31 52 21 50 61 79 11 31 21 96 35 85 61 31 85, 21 26 79 78 30 50 28 67 86 85 61 30 35: 35 79 24 24 67 79 28 24 30 61, 35 96 85 61 21 24 69 21 35 90 52 30 35, 61 79 96 50 21 52 90 61 86 11 96 79 59 35, 42 24 79 96 79 49 86 11 49 30 59, 49 79 52 79 59 86 69 49 30 35 21 59 26 30 52 79 11 26 46 30 61 85 69 86, 88 79 52 28 67 86 30 88 52 21 42 21, 96 79 49 61 86 30 67 30 52 86 30 42 28 67 86, 42 21 88 79 96 30 52 79 30 52 85 69 79, 61 30 85 59 26 79 96 78 30 61 61 79 30 24 21 74 30 61 21 50 30 31 79 50 61 21 49 79 42 96 21 59 35 61 86 30 26 96 86 29 85 31 85

Каждая буква заменена на двухзначное число.

Код на С++ (для вычисления частоты и быстрой замены по всему тексту):

#include <cstdlib>

#include <iostream>

#include <cstring>

#include <string>

#include <cstdio>

#include <fstream>

using namespace std;

/*

*

*/

#define all(n) for(int i = 0 ; i < n ; i++)

int main(int argc, char** argv) {

ifstream fin("in.txt");

ofstream fout("newfile.doc");

char str[10000];

int a, num[112] = {0};

fin.getline(str,10000);

for(int i = 0 ; i < strlen(str); i++){

if(str[i] >= 48 && str[i] <= 58 && str[i + 1] >= 48 && str[i + 1] <= 58){

num[((int)str[i] - 48) * 10 + ((int)str[i + 1] - 48)]++;

}

}

all(100){

if(num[i] > 0) fout << i << " --> " << num[i] << endl ;

}

cout << "\n\n\n";

for(int i = 0 ; i < strlen(str); i++){

if(str[i] >= 48 && str[i] <= 58 && str[i + 1] >= 48 && str[i + 1] <= 58){

a = ((int)str[i] - 48) * 10 + ((int)str[i + 1] - 48);

i++;

if(a == 79) fout<< "О";

else if(a == 30) fout<< "Е";

else if(a == 21) fout<< "А";

else if(a == 61) fout<< "Н";

else if(a == 96) fout<< "Р";

else if(a == 85) fout<< "И";

else if(a == 59) fout<< "С";

else if(a == 88) fout<< "Г";

else if(a == 49) fout<< "В";

else if(a == 52) fout<< "Л";

else if(a == 26) fout<< "П";

else if(a == 24) fout<< "Д";

else if(a == 28) fout<< "У";

else if(a == 78) fout<< "Ч";

else if(a == 31) fout<< "К";

else if(a == 86) fout<< "Ы";

else if(a == 11) fout<< "Й";

else if(a == 50) fout<< "М";

else if(a == 35) fout<< "Т";

else if(a == 42) fout<< "З";

else if(a == 74) fout<< "Ж";

else if(a == 90) fout<< "Ь";

else if(a == 67) fout<< "Б";

else if(a == 69) fout<< "Ц";

else if(a == 46) fout<< "Щ";

else if(a == 29) fout<< "Ш";

else fout << a;

}

//else if(str[i] == ' ') ;

else fout << str[i];

}

cout << endl;

return 0;

}

Частоты :

11 --> 6 59 --> 14

21 --> 19 60 --> 1

24 --> 12 61 --> 20

26 --> 9 67 --> 5

28 --> 8 69 --> 4

29 --> 1 74 --> 2

30 --> 30 78 --> 3

31 --> 10 79 --> 32

35 --> 12 85 --> 18

42 --> 6 86 --> 13

46 --> 1 88 --> 6

49 --> 8 90 --> 3

50 --> 8 96 --> 19

52 --> 15

По частоте видно 30 и 79 встречаются максимальное количество раз. Я беру 30 как «Е», 79 как «О» а также 61 как «Н», т. к. первое слово в первой строке 79 61 и в десятой строке 61 30 могут быть соответственно «ОН» и «НЕ». Подставив эти три буквы получаем:

О Н 31 96 28 35 85 52 26 Е 24 21 52 85 59 49 О Е 88 О 49 Е 52 О 59 85 26 Е 24 21 59 85 42 О 88 Н 28 35 86 50 96 28 52 Е 50, 24 Е 96 74 21 59 90 59 Е 96 Е 24 85 Н 86 26 96 85 88 О 96 О 24 Н О 11 28 52 О 78 31 85, - 21 50 Е 96 85 31 21 Н 59 31 85 11 26 О 24 96 О 59 35 О 31 59 96 Е 31 52 21 50 Н О 11 31 21 96 35 85 Н 31 85, 21 26 О 78 Е 50 28 67 86 85 Н Е 35: 35 О 24 24 67 О 28 24 Е Н, 35 96 85 Н 21 24 69 21 35 90 52 Е 35, Н О 96 50 21 52 90 Н 86 11 96 О 59 35, 42 24 О 96 О 49 86 11 49 Е 59, 49 О 52 О 59 86 69 49 Е 35 21 59 26 Е 52 О 11 26 46 Е Н 85 69 86, 88 О 52 28 67 86 Е 88 52 21 42 21, 96 О 49 Н 86 Е 67 Е 52 86 Е 42 28 67 86, 42 21 88 О 96 Е 52 О Е 52 85 69 О, Н Е 85 59 26 О 96 78 Е Н Н О Е 24 21 74 Е Н 21 50 Е 31 О 50 Н 21 49 О 42 96 21 59 35 Н 86 Е 26 96 86 29 85 31 85

В предпоследней строке слово « 85 59 26 О 96 78 Е Н Н О Е» подходит слово «ИСПОРЧЕННОЕ». Раскрывшийся возможные буквы это : 85 — И, 59 — С, 26 — П, 96 — Р, 78 — Ч.

Заменяя эти буквы получим:

О Н 31 Р 28 35 И 52 26 Е 24 21 52 И С 49 О Е 88 О 49 Е 52 О С И 26 Е 24 21 С И 42 О 88 Н 28 35 86 50 Р 28 52 Е 50, 24 Е Р 74 21 С 90 С Е Р Е 24 И Н 86 26 Р И 88 О Р О 24 Н О 11 28 52 О Ч 31 И, - 21 50 Е Р И 31 21 Н С 31 И 11 26 О 24 Р О С 35 О 31 С Р Е 31 52 21 50 Н О 11 31 21 Р 35 И Н 31 И, 21 26 О Ч Е 50 28 67 86 И Н Е 35: 35 О 24 24 67 О 28 24 Е Н, 35 Р И Н 21 24 69 21 35 90 52 Е 35, Н О Р 50 21 52 90 Н 86 11 Р О С 35, 42 24 О Р О 49 86 11 49 Е С, 49 О 52 О С 86 69 49 Е 35 21 С 26 Е 52 О 11 26 46 Е Н И 69 86, 88 О 52 28 67 86 Е 88 52 21 42 21, Р О 49 Н 86 Е 67 Е 52 86 Е 42 28 67 86, 42 21 88 О Р Е 52 О Е 52 И 69 О, Н Е И С 26 О Р Ч Е Н Н О Е 24 21 74 Е Н 21 50 Е 31 О 50 Н 21 49 О 42 Р 21 С 35 Н 86 Е 26 Р 86 29 И 31 И

«С 49 О Е 88 О» - «СВОЕГО», значит 49 — В, 88 — Г .

О Н 31 Р 28 35 И 52 26 Е 24 21 52 И С В О Е Г О В Е 52 О С И 26 Е 24 21 С И 42 О Г Н 28 35 86 50 Р 28 52 Е 50, 24 Е Р 74 21 С 90 С Е Р Е 24 И Н 86 26 Р И Г О Р О 24 Н О 11 28 52 О Ч 31 И, - 21 50 Е Р И 31 21 Н С 31 И 11 26 О 24 Р О С 35 О 31 С Р Е 31 52 21 50 Н О 11 31 21 Р 35 И Н 31 И, 21 26 О Ч Е 50 28 67 86 И Н Е 35: 35 О 24 24 67 О 28 24 Е Н, 35 Р И Н 21 24 69 21 35 90 52 Е 35, Н О Р 50 21 52 90 Н 86 11 Р О С 35, 42 24 О Р О В 86 11 В Е С, В О 52 О С 86 69 В Е 35 21 С 26 Е 52 О 11 26 46 Е Н И 69 86, Г О 52 28 67 86 Е Г 52 21 42 21, Р О В Н 86 Е 67 Е 52 86 Е 42 28 67 86, 42 21 Г О Р Е 52 О Е 52 И 69 О, Н Е И С 26 О Р Ч Е Н Н О Е 24 21 74 Е Н 21 50 Е 31 О 50 Н 21 В О 42 Р 21 С 35 Н 86 Е 26 Р 86 29 И 31 И

«В Е 52 О С И 26 Е 24 21» - «ВЕЛОСИПЕДА» и так далее. И в конце полный текст получиться :

О Н К Р У Т И Л П Е Д А Л И С В О Е Г О В Е Л О С И П Е Д А С И З О Г Н У Т Ы М Р У Л Е М, Д Е Р Ж А С Ь С Е Р Е Д И Н Ы П Р И Г О Р О Д Н О Й У Л О Ч К И, - А М Е Р И К А Н С К И Й П О Д Р О С Т О К С Р Е К Л А М Н О Й К А Р Т И Н К И, А П О Ч Е М У Б Ы И Н Е Т: Т О Д Д Б О У Д Е Н, Т Р И Н А Д Ц А Т Ь Л Е Т, Н О Р М А Л Ь Н Ы Й Р О С Т, З Д О Р О В Ы Й В Е С, В О Л О С Ы Ц В Е Т А С П Е Л О Й П Щ Е Н И Ц Ы, Г О Л У Б Ы Е Г Л А З А, Р О В Н Ы Е Б Е Л Ы Е З У Б Ы, З А Г О Р Е Л О Е Л И Ц О, Н Е И С П О Р Ч Е Н Н О Е Д А Ж Е Н А М Е К О М Н А В О З Р А С Т Н Ы Е П Р Ы Ш И К И

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]