х тих з файлу ,
Шифрування даних тих ,
Обчислення формули ,
Вихід
}; Alphabet [26]; Chipher [26]; Text [255]; Code [255]; menu (int n); reader (); enigma (); formul (); fun_alphabet ( ); fun_chipher (); main ()
{i, t; (1)
{(7); (1,1,80,25); (); (16 * 3 + 3); (20,10,60,15); (); (0) ; (); (i=0; i lt; 4; i ++)
{(3, i + 1); lt; lt; dan [i];
}=menu (4); (t)
{1: reader (); break; 2: enigma (); break; 3: formul (); break; 4: case 27: window (1,1,80,25); ( 7); (); (0);
}
}
} menu (int n)
{y=1; c; (3, y); (16 * 1 + 14); lt; lt; dan [0];
{= getch (); (16 * 3 + 0); (3, y); lt; lt; dan [y - 1]; (c)
{DOWN: y ++; break; UP: y -; break; ENTER: return y;
} (y gt; n) y=1; (y lt; 1) y=n; (3, y); (16 * 1 + 14); lt; lt; dan [y - 1 ];
} (c!=ESC); c;
} reader ()
{(7); (1,1,80,25); (); (20,10,60,15); (16 * 3 + 0); (); input ;. open ( Text.txt raquo ;, ios :: in); (! input) {(10,2); lt; lt; Помилка відкриття файлу! raquo ;; (11,4); lt; lt; laquo ; Натисніть будь-яку клавішу, raquo ;;
gotoxy (10,5); lt; lt; щоб закрити програму raquo ;;
getch (); (0);
} (! input.eof ()) {. getline (Text, 255);
}. close (); (10,2);
cout lt; lt; Файл успішно завантажений. raquo ;;
gotoxy (11,4);
cout lt; lt; Натисніть будь-яку клавішу, raquo ;;
gotoxy (10,5); lt; lt; щоб закрити програму raquo ;; gotoxy (20,11);
getch ();
} enigma ()
{(7);(1,1,80,25);();(16*3+0);(20,10,60,15);();_alphabet();_chipher();i;output;.open(laquo;Code.txtraquo;, ios :: out); (! output) {(10,2); lt; lt; Помилка створення файлу! n raquo ;; (11,4); lt; lt; Натисніть будь-яку клавішу, raquo ;;
gotoxy (10,5); lt; lt; щоб закрити програму raquo ;;
getch (); (0);
} letter; int j; n=strlen (Text); (i=0; i lt; n; i ++)
{= Text [i]; (! isalpha (letter)) { lt; lt; letter;
} {(j=0; j lt; 26; j ++) {(Alphabet [j] == letter) { lt; lt; Chipher [j];
}
}
}
} (8,2); lt; lt; Шифрування успішно проведено! raquo ;; (4,4); lt; lt; Натисніть будь-яку кнопку щоб повернутися raquo ;;
getch ();
} formul ()
{(7); (1,1,80,25); (); (16 * 3 + 0); (20,10,60,15); (); input ;. open ( CODE.txt raquo ;, ios :: in); (! input) {(10,2); lt; lt; Помилка відкриття файлу! raquo ;; (11,4); lt; lt; laquo ; Натисніть будь-яку клавішу, raquo ;;
gotoxy (10,5); lt; lt; щоб закрити програму raquo ;;
getch (); (0);
} (! input.eof ()) {. getline (Code, 255);
}. close (); A; HC, Sum=0; i, f [26]={0}, N, j=0;=strlen (Code); (A= A raquo ;; A lt;= Z raquo ;; A ++) {(i=0; i lt; N; i ++) {(Code [i] == A) f [j] ++;
} ++;
} (i=0; i lt; 26; i ++) {(f [i] gt; 1)=Sum + (double (f [i] * (f [i] - 1))/ double (N * (N - 1)));
}=Sum; (15,1); lt; lt; * HC= lt; lt; HC; (3,3); lt; lt; * HC -індекс збігу для всіх букв raquo ;; (8,4); lt; lt; і обчислюється він за формулою raquo ;;
gotoxy (6,6); lt; lt; HC=Sum ((f (i) * (f (i) - 1))/N * (N - 1)) raquo ;; ();
} fun_alphabet ()
{i; letter; file; .open ( Key.txt raquo ;, ios :: out); (letter= A raquo ;, i=0; letter lt;= Z ; letter ++, i ++)
{[i]=letter; lt; lt; letter;
} lt; lt; endl; .close ();
} fun_chipher ()
{i, A [27], n, j, f; file; .open ( Key.txt raquo ;, ios :: app); (time (0)); (i= 0; i lt; 26;) {= 0;=(rand ()% 26); (j=0; j lt; 26; j ++) {(A [j] == n) f=1;
} (f == 0) {[i]=n; [i]=Alphabet [n]; lt; lt; Chipher [i]; ++;
}
}. close ();
}