] = IntToStr (t1);}
t1 = StrToInt (StringGrid1-> Cells [i] [3]);
t2 = StrToInt (StringGrid1-> Cells [j] [3]);
if (t1 Cells [i] [2];
StringGrid1-> Cells [i] [2] = StringGrid1-> Cells [j] [2];
StringGrid1-> Cells [j] [2] = temp;
StringGrid1-> Cells [i] [3] = IntToStr (t2);
StringGrid1-> Cells [j] [3] = IntToStr (t1);}
}
}
// ---------------------------------------- -----------------------------------
void __ fastcall TForm1 :: FormCreate (TObject * Sender)
{= "абвгдежзийклмнопрстуфхцчшщъыьэюя"; = "АБВШДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
}
// ---------------------------------------- -----------------------------------
void __ fastcall TForm1 :: Button4Click (TObject * Sender)
{str3 = "";
int i, j;
AnsiString temp;
for (i = 1; i <= lenstr2; i + +)
for (j = 0; j <33; j + +)
{temp = StringGrid1-> Cells [j] [2];
if (temp == str2 [i])
{temp = StringGrid1-> Cells [j] [0];
str3 = str3 + temp;}
} -> Lines-> Text = str3;
}
// ---------------------------------------- -----------------------------------
void __ fastcall TForm1 :: Button5Click (TObject * Sender)
{
// SaveDialog1-> FileName = "lab3";
// SaveDialog1-> InitialDir = GetCurrentDir ();
// SaveDialog1-> Execute ();
// Memo3-> Lines-> SaveToFile ("lab3.txt");
Memo1-> Text = ""; -> Text = ""; -> Text = "";
}
// ---------------------------------------- -----------------------------------
void __ fastcall TForm1 :: Button6Click (TObject * Sender)
{
AnsiString load = "C: лоад.txt";
Memo1-> Lines-> LoadFromFile (load);
}
// ---------------------------------------- -----------------------------------
void __ fastcall TForm1 :: Button7Click (TObject * Sender)
{
AnsiString load = "C: сейв.txt";
Memo2-> Lines-> LoadFromFile (load);
}
// ---------------------------------------- -----------------------------------
void __ fastcall TForm1 :: Button8Click (TObject * Sender)
{> MessageBox ("розрахунково-графічна робота. виконав студент ІІДС 349 Міщенко А.С.", "About", MB_OK);
}
// ---------------------------------------- -----------------------------------
Експериментальні дані
Робота шифратора
В
Рис. 1 форма програми
В
Рис. 2 завантаження відкритого тексту
В
Рис. 3 зашифровка тексту з використанням випадкового алфавіту
В В
Рис. 4 збереження шифром-тексту
В
Рис. 5 відомості про автора
Робота дешифратора
В
Рис. 6 форма дешифратора
В
Рис. 7 завантаження вихідного тексту
В
Рис .8 завантаження збереженого шифром-тексту
В
Рис. 9 підрахунок символів у відкритому і шифрованому повідомленнях
В
Рис. 10 сортування символів по зростанню
В
Рис. 11 застосування частотного аналізу тексту
В
Рис. 12 відомості про автора
Висновок
в даній роботі я програмно реалізував шифрування тексту за допомогою коду заміни. Робота шифратора заснована на використанні випадково сформованого алфавіту. Кожен символ вихідного алфавіту замінюється символом випадкового алфавіту. Дешифратор заснований на застосуванні частотного аналізу тексту. Програма підраховує кількість символів у шифром-тексті і порівнює з кількістю символів у відкритому тексті, після чого виводить результат аналізу в інше поле. br/>