Bonjour,
Moi et un amis devons développer pour les cours un algorithme de chiffrage minimaliste.
comme d'autre groupe nous avons écris un algorithme de type réversible facilement déchiffrable car le but est juste de rendre illisible pour le commun des mortels le texte de départ.
Seulement, la ou ça coince c'est qu'on nous lance dans le C après avoir fait du VB, le tout sous linux avec comme seule obligation l'utilisation de l'ide CodeBlock et le compilateur GCC.
N'ayant pas de grande expérience en C, et ayant juste reçu un PDF avec les bases j'ai pris les devants et je viens vous poser quelques question.
Dans un premier temps, nous devons comparer les caractères à chiffrer avec un dictionnaire de caractère autorisé.
Le dictionnaire est dinamyque et sera charger par une fonction dont l'entête est :
void loaddico(char * dico)
du fait la fonction renverrait une chaîne de caractère à la manière de :
dico = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
Rien à faire, ça ne fonctionne pas, je ne suis pas assez à l'aise avec les " pointeurs " que nous avons à peine découvert dans le cours et dont nous n'avons pas parlé.
En dehors de ça, j'aurais une fonction qui testerais chaque caractère vis à vis du dictionnaire
j'ai pensé à quelque chose comme ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| for (i = 0; j < textlen; i++)
{
testcar = 1;
for (j = 0; j < dicolen; j++)
{
if(mid(text, i, 1) == mid(dico, j, 1)
{
testcar = 0;
//sortir de ma boucle for, comment ?
}
}
if(testcar == 1)
{
return 1;
}
} |
Mon premier soucis est que quand je test le caractère, si je vois qu'il correspond à un de ceux du dictionnaire, je dois pouvoir sortir de ma boucle for, je ne sais pas comment
mon deuxième c'est qu'ici j'ai écris une fonction VB qui s'appelle mid, qui permet d'extraire un caractère d'une chaîne string, sauf que si j'ai bien compris, le type char est un peu l’ancêtre de string, et ne fonctionne pas du tout de la même manière.
Quelqu'un pourrait me mettre sur la voie, déjà à me dire comment je peu charger mon dictionnaire dans la première fonction, en suite tester les caractères ?
Je vous remercie d'avance pour l'aide apporté.
Partager