Ôîðóì ïðîãðàììèñòîâ
 

Âîññòàíîâèòå ïàðîëü èëè Çàðåãèñòðèðóéòåñü íà ôîðóìå, î ïðîáëåìàõ è ñ çàêàçîì ðåêëàìû ïèøèòå ñþäà - alarforum@yandex.ru, ïðîâåðÿéòå ïàïêó ñïàì!

Âåðíóòüñÿ   Ôîðóì ïðîãðàììèñòîâ > C/C++ ïðîãðàììèðîâàíèå > Îáùèå âîïðîñû C/C++
Ðåãèñòðàöèÿ

Âîññòàíîâèòü ïàðîëü

Êóïèòü ðåêëàìó íà ôîðóìå - 42 òûñ ðóá çà ìåñÿö

Îòâåò
 
Îïöèè òåìû Ïîèñê â ýòîé òåìå
Ñòàðûé 18.05.2015, 03:00   #1
Drago56
Ïîëüçîâàòåëü
 
Ðåãèñòðàöèÿ: 13.12.2010
Ñîîáùåíèé: 91
Ïî óìîë÷àíèþ Êðèïòîîíàëèç øèôðà Âèæåíåðà

Êîä:
#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<string>
#include<conio.h>
#include <clocale>

using namespace std;
string s[16],buf;

void left( int a, int N){ //ôóíêöèÿ ñìåùåíèå íà 1 âëåâî
     char temp=buf[0];
     for (int i=0; i<N-1;i++) buf[i]=buf[i+1];
     buf[N-1]=temp;
     s[a]=buf;
}

int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "Russian");
s[0]="ÌÝȨÛÐͨÜ×ÃÄÊ×ÃÅÆÖÌÁÕÙÝÚÓÙÆÙÙÄÃÃ×ËÏÈÓÍËÒÔÞÌÃÜÞÙÁ×ÚɨÎÚÇÎÏ×ÌÙÏÖÏÈÝÜÆÞÏÙÌÕÍÚɨÌÚÇÙÙÃÈ×ÀÝÀÜÝ×ÙÌÚËËÉÊ×ÌÅÊÁͨÝÚÁÛÊÄËÜÔØÌÛÏÝÀÒÜÚÈÀ×ÒÞØÙÔÀÂÙÜÆÎØÐÀ¨×ÀÎ×ÕÐÛÉÙÞШÖÝÐÒÔØÌÃÙÏÌÁÂÐɨÌÐÈØ¨×ËÜÒËȨØÙÙÁÜÆËߨËÊÜØÔШÍÚÃÂÊÞÃÇÓÙÆÅÜÖÌÚÙÍÃÃÆØÌÞÓÎÎ×ßËßÜÒßÓ¨ÍÚÑÄÓÜÞÙÃÐÁ¨ÝÐÍÜÛÇÀÄÙÝÈÙÏÚËÅÓÎÂÜØÐÏÃÞÒÆÃÏÅÃÉÙ×ÚÂÙÃШÚÜÆÜÀËÉÀÒÓÞÚÛËËÀÁÆÁÛÏÚËÙÙÝÍÀÝÆÀ×ÖÝÝÀËÆÉÙÚÐÎÙ¨ÕÎ×ÒÍÌØÄÐÏÉÌÐÞÅØËÍ×Ì×ÌÙØËÍÇÓÍÃÉÜÞÀ¨ÌËÉ×ÏÎÌÆÙÖɨØÚʨÝÙÌÈÉÅÆÄÜÊÈÃÈÏÝÄÜËʨÔÙÆßÃÐÇÀÏÜÞÇÀÔÆÙÏÐÏ×ÖÚËÜØÚËÜÜØÌÉÛÊË×ÇÞÌÅÓÓÖÜÏÛÌÈÌÚÃÄÞÝÌÇÝßÍÇÓÍÃÉÜÞÀÀÏÛÎÀÌÔÂÜÌÚÖÜÎÄÃÚÙÛÚÜÛËÀÃÓÂÃרÙÙÆÊÍɨÌÙÙÀÒÚßÇÊÓÆÃÙÝÚØÏÝͨÕÚÇÈÝÍÌÀÜÞÎ×ÀÛÌÛÙÌËÒÔÞÌÄÞÖÌÉÙÜÙÁÌÆÎ×ÑËÃÉÜÊÍÇÓÍÆÛÏÃÃÚÙÙÆØÞÏÚÈÖÔÖÂÙØÌÚÛÚÊÅÙÎÌÀØÐÏÙÙÕÏÉÌÐËÅÙÎÌÄÏÝÐÊÀÚÐÖÎÐÇÈÝÍÆÉÏ×ÚÅÙÛÚÜÛÌÙÃØÐÏÂÙ×ÚÂÙÌÌÃÆÄÃÛÛßÁÀÀØÑÞÂÔËÙÕÚÊÅÊÞÃÅÙÈШÝÝÐÇÊÁʨÍÚÐÅÙÝÆÉÆÝÝÉÙ×ÚÂÙÖШ×ßÑÄØÚÊÊÓÍÊÜÜÞÃÇÙÌȨ×ßË×Ë×ÜÛÊÞÃÃÆÙÌÄÞÔÃÈÝÐÏÉÌÐËÅÙØÑÙÒÎÉÖÎßÌÉÖÔÕ×ÌÄÃÄÞÐÁ¨ÙÞÀÈÏÁÀÔÝÚÇÚÙÝÐÀØÚÇ";
string s2="ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß";
buf=s[0]; 
int k=0,i,koll[15]={0},j,poten[15]={0},q=0,k2=0,ind,alf[5][33]={0},j2;
float dol[15],max;
string y1,y2,y3,y4;
k=s[0].length();  

for(i=1;i<16;i++){
left(i,k);
for(j=0;j<k;j++) if(s[0][j]==s[i][j]) koll[i-1]++;
dol[i-1]=(float)koll[i-1]/k;
if(dol[i-1]>=0.053) {poten[q]=i;q++;}
//cout<<endl<<"Koll="<<koll[i-1];
}

//for(i=0;i<5;i++)
//for(j=0;j<33;j++)
//alf[i][j]=0;

for(i=0;i<15;i++) if(poten[i]!=0) k2++;

max=dol[0];ind=1;

for(i=0;i<15;i++) if(dol[i]>max) {max=dol[i];ind=i+1;}

j=0;
for(i=0;i<201;i++){
	//y1[i]=s[0][j];
	for(int b=0;b<33;b++)
	if(s[0][j]==s2[b]) alf[0][b]++;
	j=j+4;
}

j=1;
for(i=201;i<402;i++){
//	y2[i]=s[0][j];
		for(int b=0;b<33;b++)
	if(s[0][j]==s2[b]) alf[1][b]++;
	j=j+4;
}
j=2;
for(i=402;i<603;i++){
//	y3[i]=s[0][j];
		for(int b=0;b<33;b++)
	if(s[0][j]==s2[b]) alf[2][b]++;
	j=j+4;
}

j=3;
for(i=603;i<803;i++){
	//y4[i]=s[0][j];
		for(int b=0;b<33;b++)
	if(s[0][j]==s2[b]) alf[3][b]++;
	j=j+4;
}

                                  
for(j2=0;j2<ind;j2++){                    
 cout<<endl;
 for(i=0;i<33;i++)                 
    cout<<alf[j2][i]<<" ";          
}
      
//cout<<endl<<ind;       
cout<<endl<<endl;       
system("pause");       
	return 0;
}
Ïûòàëñÿ äåëàòü ïî èíäåêñó ñîâïàäåíèé êàê ïîêàçàíî ïî ññûëêå

https://ru.wikipedia.org/wiki/%D0%98...BD%D0%B8%D0%B9

Äîøåë äî ñòàòèñòèêå ïîÿâëåíèé áóêâ â ãðóïïàõ.
Íå ìîãó ïîíÿòü êàê óçíàòü ñêîëüêî íóæíî êîëè÷åñòâî ñäâèãîâ â êàæäîé ãðóïïû, ÷òîáû âû÷èñëèòü âçàèìíûé èíäåêñ ñîâïàäåíèé
Drago56 âíå ôîðóìà Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò


Êóïèòü ðåêëàìó íà ôîðóìå - 42 òûñ ðóá çà ìåñÿö

Îïöèè òåìû Ïîèñê â ýòîé òåìå
Ïîèñê â ýòîé òåìå:

Ðàñøèðåííûé ïîèñê


Ïîõîæèå òåìû
Òåìà Àâòîð Ðàçäåë Îòâåòîâ Ïîñëåäíåå ñîîáùåíèå
Ðåàëèçàöèÿ øèôðà cast evklid Ïîìîùü ñòóäåíòàì 0 31.05.2013 18:07
Âçëîì XOR-øèôðà Rad-X Ïîìîùü ñòóäåíòàì 23 12.05.2013 20:25
Ðàçãàäêà øèôðà saivs Îáùèå âîïðîñû Delphi 6 15.04.2013 18:28
Ðåàëèçàöèÿ êíèæíîãî øèôðà!!! InnaSidorenko Ïîìîùü ñòóäåíòàì 1 20.11.2012 21:23
Êðèïòîàíàëèç øèôðà Âèæåíåðà kalbim Ïîìîùü ñòóäåíòàì 3 17.05.2011 22:27