В общем написал кусок кода, который считает количество вхождений каждой буквы в текст. Дан зашифрованный текст, частотным анализом надо расшифровать его. Делаю английские буквы всё норм, а с русскими не получается...Как исправить данную ситуацию?
| Код | #include <iostream.h> #include <stdlib.h> #include <string.h> #include <stdio.h> void main() { char s[270]="БЪОБВКТШ БЪЧОБ ХМЮ ЖЛЕДВКЗСЛЮ ДЗПМЛГСТАЛ АЪБВХЗАЛ РДВКЪДЧЗ АЪБВХВК ВХSВЗМЕЗКЛБСТШ АЪБВХ О ЕЛЧОЛДВКЗССТА ОАЪЙЪСЛЪА ВХСВЗМЕЗКЛБСТШ О ПЗХЗКЗЪАТА ОАЪЙЪСЛЪА РЪДЪОБЗСВКЧЗ ОЛАКВМВК АСВУВЗМЕЗКЛБСТШ АЪБВХ О ЕЛЧОЛДВКЗССТА ЧМЯГВА АСВУВЗМЕЗКЛБСТШ АЪБВХ О ЧМЯГВА ЕЛЧОЛДВКЗССВШ ХМЛСТ"; char g[32]; for(int p=0; p<32; p++) { //cout<<(char)<<" "<<i<<endl; g[p]=(char)(p+128); //cout<<alpha[i]<<endl; } g[31]='S'; int array[32]; for(p=0; p<32; p++) { array[p]=0; } int k,i,sym,z,j;
// puts ("Vvedi stroku: "); //gets(s); for(i=0; i<270; i++) { for(j=0; j<32; j++) { if(s[i]==g[j]) array[j]++; } j=0; }
cout<<"\n"; z=0;
for(i=0; i<32; i++) { cout<<g[i]<<" "<<array[i]<<endl; }
}
|
|