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 :

application chiffres et lettres


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 17
    Par défaut application chiffres et lettres
    salut à tous ,je suis un débutant en programmation .
    j'ai un tableau de chaine de caractères deja rempli de mots et alors je veut savoir comment prendre le 1er mot de ma chaine et le mettre etant aléatoire
    exemple : dimanche ======> "n"a"m"d"i""m""e"c""h"
    voila 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
     
    void dictionnaire(int NM,char *Tdict)
     
    { int i,j;
     
        char dict[30][12]={"dimanche \n","presenter \n","attitude\n","projet\n","codeblocks\n","message\n","communication\n","chiffres\n","lettres\n","electronique\n","programmation\n"};
     printf("%s",dict);
    for (i=0;i<NM;i++)
     {
         for (j=0;j<NM;j++)
         {
             dict[rand()][rand()];
             printf("%c",dict);
         }
     }
       Tdict=malloc(50);
     
    free(Tdict);
    }

  2. #2
    Membre Expert
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Par défaut
    Bonjour,
    tu peux implémenter l'algorithme de Fisher-Yates (→ cf page wikipedia) pour mélanger ta chaîne. C'est un algorithme simple à mettre en oeuvre et très efficace.

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 600
    Par défaut
    Bonjour,
    j ← entier aléatoire entre 0 et i peut s'écrire int j = rand() % (i+1); avec une bonne approximation.
    échanger aj et ai peut s'écrire char tmp=dict[m][i]; dict[m][i]=dict[m][j]; dict[m][j] = tmp;.

  4. #4
    Membre actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 17
    Par défaut
    mais est ce que c'est efficace pour une chaine de caractére la méthode de fesher ??

  5. #5
    Membre Expert
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Par défaut
    Je te réponds une bonne heure plus tard … temps qui t'aurais permis d'implémenter l'algo, de le tester et de constater que oui sans avoir à poser la question. Tu t'imagines bien aussi que si je te l'ai conseillé c'est que je pense que c'est ce qu'il te faut je ne vais pas t'orienter vers une fausse solution.

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 779
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 779
    Par défaut
    C'est surtout un algo du genre classique "glouton" en info si tu avais regardé

    On coupe le tableau en 2 parties: 1 qui va grossir jusqu'à avoir tout le tableau, l'autre qui va se réduire jusqu'à n'avoir plus aucun élément.

    Dans cet algo, on va prendre une lettre dans la partie qui réduit (donc on va prendre toutes les lettres sans répétition) et on va la ranger dans la partie qui grossit, la fin du tableau (dans une case qu'on ne touche plus après puisqu'on gère cette partie en pile)

Discussions similaires

  1. Transformer chiffre en lettre
    Par maximil dans le forum Access
    Réponses: 4
    Dernier message: 22/12/2005, 15h59
  2. conversion chiffre en lettre
    Par arezki76 dans le forum Oracle
    Réponses: 3
    Dernier message: 17/12/2005, 12h31
  3. [VB.NET] Import donnes d'excel : chiffres et lettres
    Par JohnGT dans le forum Windows Forms
    Réponses: 5
    Dernier message: 19/10/2004, 18h53
  4. Réponses: 4
    Dernier message: 21/07/2004, 10h51

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