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 :

Mélange d'une chaine de caracteres


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 17
    Par défaut Mélange d'une chaine de caracteres
    Voila mon but est de mélanger les lettres d'un mot entré au clavier.
    Exemple : Entrer le mot : Bonjour
    Mot mélangé : urnbooj

    J'ai commencé un code mais la je me suis embrouillé et je comprend plus ce que je fais .... voici mon code :

    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>
    int main (void)
    {
        char melange[30],x,chaine[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        int i,n,p ;
        i=0;
        printf ("Entrer le mot : ");
        scanf ("%c",chaine); 
        n=strlen(chaine); // compte le nombre de caracteres de mon mot
        while (n>0) // tant que le nombre de lettres est superieur a 0 on fait
        {
              p=rand()%n; // je tire au sor une lettre de mon mot
              melange[i]=chaine[p]; // je remplace la 1ere lettre de mon mot par la lettre tirée au hasard
              i++; // j'incrémente
              x=chaine[n-1]; 
              chaine[n-1]=chaine[p];
              chaine[p]=x;
              n--;
              }
              printf ("Le mot melange est : %c\n",x);
              system ("pause");
              return 0;
              }

    merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    helas pas grand chose de terrible :S

    alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char melange[30],x,chaine[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    pourquoi cette initialisation de "chaine" ? et pourquoi melange, qui doit contenir chaine mélangé je suppose, possède une taille différente ?

    la tu saisis seulement UN caractère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
              p=rand()%n; // je tire au sor une lettre de mon mot
              melange[i]=chaine[p]; // je remplace la 1ere lettre de mon mot par la lettre tirée au hasard
              i++; // j'incrémente
              x=chaine[n-1]; 
              chaine[n-1]=chaine[p];
              chaine[p]=x;
              n--;
    la il ya 2 politiques mélangés :S : on met une chaine temporaire (melange) et on echange 2 lettres d'un mort : pouquoi les 2 ?

    et enfin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf ("Le mot melange est : %c\n",x);
    tu affiches seulement la derniere lettre manipulée :S

    voila

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  2. Réponses: 5
    Dernier message: 21/07/2004, 19h34
  3. Extraire un nom d'une chaine de caractere
    Par iamspacy dans le forum Linux
    Réponses: 4
    Dernier message: 03/05/2004, 21h34
  4. Réponses: 2
    Dernier message: 30/03/2004, 11h31
  5. Controler une chaine de caracteres ou d'entiers?
    Par Le druide dans le forum C
    Réponses: 6
    Dernier message: 25/09/2003, 08h48

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