IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Création programme de cryptage


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Par défaut Création programme de cryptage
    Bonjour à tous,

    Je suis un étudiant en dernière année secondaire et j'ai décidé de produire un programme de cryptage pour mon travail de fin d'étude.
    J'ai suivi un cours de programmation en C pour avoir de bonnes bases mais le problème est que je ne sais pas du tout comment m'y prendre pour démarrer ce programme. Mon professeur guide ne m'aide vraiment pas et la présentation est pour bientôt... Je ne sais pas si quelqu'un serait d'accord de m'aider mais je vais tout de même vous soumettre mon idée:
    Je souhaiterais faire un programme de cryptage où je demanderais à l'utilisateur de rentrer la phrase à crypter de la manière suivante. Tous les doublons de cette phrase (ou ce texte) seraient supprimés, ensuite toutes les lettres seraient reclassées dans l'ordre alphabétique. Je suis conscient que ce forum n'existe pas pour que quelqu'un fasse mon travail mais me permette d'avancer et de m'aider dans ce travail. J'ai pas mal de notion mais je ne les ai jamais misent en pratique, d'où l'introduction de cette discussion.

    Voici déjà le peut que j'ai été capable de produire pour l'instant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    static void nett(char *mdp) //fonction pour virer le \0 a la fin qui gene
    {
        char *p = strchr(mdp, '\n');
     
        if (p)
        {
            *p = 0;
        }
    }
     
    int main(int argc, char *argv[])
    {
     
    char phD[100];
     
    printf("Bonjour, veuillez rentrer la phrase a crypter:\n");
    fgets(phD,sizeof phD,stdin); // fget("%s", phraseDepart);
    nett(phD);
    printf("Votre phrase est: %s\n",phD);
     
    return 0;
    }
    En vous remerciant pour votre compréhension et aide,
    TomelD98.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    C'est déjà un bon début, tu as une saisie correctement sécurisée. Même si pour celle-ci, il te manque encore de "finir de lire la ligne" tapée au clavier, sinon elle dépassera dans ta saisie suivante:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    static void nett(char *mdp) //fonction pour virer le \n a la fin qui gene
    {
    	char *p = strchr(mdp, '\n');
     
    	if (p)
    	{
    		*p = 0;
    	}
    	else
    	{
    		//Si pas trouvé dans la chaîne, c'est qu'il est encore dans stdin
    		int c;
    		while((c=getchar())!=EOF && c!='\n')
    		{ }
    	}
    }

    Pour la suite, il faut procéder par étapes:

    L'étape suivante, c'est la suppression des doublons et le tri des lettres par ordre alphabétique.
    Tu constateras rapidement, d'ailleurs, qu'il est plus facile de faire ça dans l'autre ordre! Car une fois triées, les lettre en double seront toutes rassemblées, facilitant leur suppression (il suffira de ne copier une lettre vers sa destination que si elle diffère de la précédente).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Par défaut Création programme cryptage
    D'accord, mais comment est-ce que je fais ça ? Parce que je connais les différentes fonctions et tout mais je n'arrive pas à les mettre en pratique... Je sais que toutes les lettres que je tape ont une adresse (qui correspond à un nombre). Pour les remettre dans l'ordre alphabétique je dois lui demander de classer ces nombres dans l'ordre croissant. Pour les doublons je dois demander à l'ordinateur de supprimer les nombre qui revienne plusieurs fois mais alors comment je peux faire ça informatiquement parlant ?

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    L'algorithme de suppression de doublons dans une liste triée, s'il n'est pas fait "sur place", est trivial: Il suffit de copier vers un autre buffer, en vérifiant à chaque fois si la valeur actuelle est identique à la précédente.

    Pour le tri, et bien... Il existe de nombreux algorithmes de tri. Cela doit facilement se trouver sur internet, ne serait-ce que wikipédia.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 13
    Par défaut
    Je ne sais pas si ceci est correct:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (i=26;i>0;i--)
    	{
       	k=rand()%i;
          table_code[i-1]=alphabet[k];
          for (j=k;j<i;j++)
          	alphabet[j]=alphabet[j+1];
    Cet algorithme trie les lettres dans l'ordre et supprime les doublons si je ne me trompe pas... J'ai vraiment du mal à trouver...

  6. #6
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Je ne comprends pas comment tu comptes décrypter le message. Lorsque tu auras terminé ton traitement l'information sera perdue, non ?

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Citation Envoyé par TomelD98 Voir le message
    Je ne sais pas si ceci est correct:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (i=26;i>0;i--)
    	{
       	k=rand()%i;
          table_code[i-1]=alphabet[k];
          for (j=k;j<i;j++)
          	alphabet[j]=alphabet[j+1];
    Cet algorithme trie les lettres dans l'ordre et supprime les doublons si je ne me trompe pas... J'ai vraiment du mal à trouver...
    Ceci n'est pas un algorithme de tri, bien au contraire: il fait un mélange aléatoire!
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. besoin de conseil création programme (débutante)
    Par kwakly dans le forum WinDev
    Réponses: 1
    Dernier message: 16/05/2007, 13h19
  2. Programme de cryptage
    Par IDE dans le forum C
    Réponses: 3
    Dernier message: 06/05/2007, 20h58
  3. Création programme gestion
    Par Klaad dans le forum Windows
    Réponses: 4
    Dernier message: 19/10/2006, 19h54
  4. programme de cryptage
    Par hamadibensassi dans le forum C
    Réponses: 14
    Dernier message: 01/06/2006, 20h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo