Algorithme de Vigenere en C - C - Programmation
Marsh Posté le 06-01-2006 à 19:37:54
Xavi64 a écrit : Salut, donc voilà mon problème : je cherche à écrire l'algorithme de Vigenere en C (uniquement le cryptage). Je vous donne le lien pour que vous compreniez de quoi il s'agit : http://www.chez.com/algor/vigenere.htm |
Essaye un meilleur compilateur, ou apprends à le regler...
|
Quelques commentaires et corrections rapides (-ed-) :
|
Marsh Posté le 06-01-2006 à 21:05:48
Emmanuel Delahaye a écrit : Quelques commentaires et corrections rapides (-ed-) :
|
Tu t'en donnes du mal - Parfois je t'admire...
PS: J'ai lu tous tes commentaires (il y en aura au-mois un !!!)
Marsh Posté le 06-01-2006 à 17:20:37
Salut, donc voilà mon problème : je cherche à écrire l'algorithme de Vigenere en C (uniquement le cryptage). Je vous donne le lien pour que vous compreniez de quoi il s'agit : http://www.chez.com/algor/vigenere.htm
J'ai essayé de l'écrire en C, sous VisualC ++6 quand je compile je n'ai aucune erreur mais lors de l'exécution ça plante si je puis dire. Voilà mon programme si qq'un pouvait essayer de m'aider ce serait vraiment sympa merci bcp.
void main()
{
char Cle[80];
char Phrase[800];
char Alpha[27] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','\0'};
char cod[800];
int posCle = 0;
printf("Cle:" );
scanf("%s",Cle);
printf("Phrase a coder:" );
scanf("%s",Phrase);
int lenphrase = strlen(Phrase);
int lencle = strlen(Cle);
int i;
char LetCle;
char* PosLetCle;
char Let;
char* Pos;
int NouvPos;
for(i=0;i<lenphrase;i++)
/* on gere la progression dans la cle */
{
posCle = posCle+1;
if (posCle > lencle)
posCle = 1;
/* on determine quelle est la lettre cle et sa position dans l'alphabet */
LetCle = Cle[posCle];
PosLetCle = strchr(Alpha, LetCle);
/* on determine la position de la lettre a coder et le decalage a appliquer */
Let = Phrase[i];
Pos = strchr(Alpha, Let);
NouvPos = *Pos + *PosLetCle;
if (NouvPos > 26)
NouvPos = NouvPos - 26;
char chartest = Alpha[NouvPos];
char *strcat(char *cod, const char *chartest);
printf("la phrase codee est:\n", cod);
}
}