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 :

Comptage et décomposition


Sujet :

C++

  1. #21
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Par défaut
    Je vais utiliser la manière qui consiste à copier chaque caractères et dés qu'il y a un espace, je change.

    Je vais donc utiliser un for avec un compteur.

    On reste sur l'idée d'un pointeur et je pense utiliser un tant que avec comme condition "tant que le pointeur est différent de ' ' ", il copie dans mon tableau_mot mais lorsque qu'il trouve un espace, j'incrémente i de 1.

    Je suis sur la bonne voie ?

  2. #22
    Membre chevronné
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Par défaut
    Je vais donc utiliser un for avec un compteur.
    Tu peux meme t inspirer de la boucle deja créee pour cela

    On reste sur l'idée d'un pointeur et je pense utiliser un tant que avec comme condition "tant que le pointeur est différent de ' ' ", il copie dans mon tableau_mot mais lorsque qu'il trouve un espace, j'incrémente i de 1.
    Tu te compliques ou tu veux absolument mettre des pointeurs pour impressionner mais c est toi qui décide Sinon la logique est la! A toi de jouer avec tableau_mot[i][j]

    Je suis sur la bonne voie ?
    Oui monsieur, bon courage!

  3. #23
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Par défaut
    Ok, je suis parti sur ce codage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        for (compteur=0; compteur<mot; compteur++)
        {
            if (ptc[compteur] != ' ')
            {
                ptc = tabMot[i];
            }
            else
            {
                i++;
            }
    Mais lorsque je veux l'afficher, il m'affiche 3 valeurs identiques en hexadécimal ... ?

    Par exemple, le mot entré est "je suis beau" et j'obtiens 0x61f4ec

    Là, je ne vois pas ou est le soucis : tout est bien initialisé mais après, es ce que c'est possible que ça écrit mal dans le tableau_mot ?

  4. #24
    Membre chevronné
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Par défaut
    Affiche tout le code avec l initialisation de tes variables et tout et tout, il me semble que tu mélanges un peu tout ce dont on a parlé précédemment

  5. #25
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Par défaut
    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
    27
    28
    29
    30
    31
    32
    33
    int lettre=0, chiffre=0, compteur, mot=1, i=0;
    ptc = tabCarModif;
        for (compteur=0; compteur < strlen(ptc); compteur++)
        {
           if ( (ptc[compteur] >= 'a' && ptc[compteur] <= 'z') || (ptc[compteur] >= 'A' && ptc[compteur] <= 'Z') )
           {
              lettre++;
           }
           else if (ptc[compteur] >= '0' && ptc[compteur] <= '9')
           {
              chiffre++;
           }
           else if (ptc[compteur] == ' ')
           {
              mot++;
           }
        }
        cout << "Nombre de lettres : "<<lettre<<"\n"<<endl;
        cout << "Nombre de chiffres : "<<chiffre<<"\n"<<endl;
        cout << "Nombre de mots : " <<mot<<"\n"<<endl;
        for (compteur=0; compteur<mot; compteur++)
        {
            if (ptc[compteur] != ' ')
            {
                ptc = tabMot[i];
            }
            else
            {
                i++;
            }
     
            cout <<"["<<compteur<<"] : "<< " - " << tabMot << " ";
        }

  6. #26
    Membre chevronné
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Par défaut
    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
    int lettre=0, chiffre=0, compteur, mot=1, i=0, indiceRajout = 0;
    ptc = tabCarModif;
    for (compteur=0; compteur < strlen(ptc); compteur++)
    {
        if ( (ptc[compteur] >= 'a' && ptc[compteur] <= 'z') || (ptc[compteur] >= 'A' && ptc[compteur] <= 'Z') )
        {
            tabMot[mot-1][indiceRajout++] = ptc[compteur];
            lettre++;
        }
        else if (ptc[compteur] >= '0' && ptc[compteur] <= '9')
        {
            chiffre++;
        }
        else if (ptc[compteur] == ' ')
        {
            mot++;
            indiceRajout = 0;
        }
    }
    cout << "Nombre de lettres : "<<lettre<<"\n"<<endl;
    cout << "Nombre de chiffres : "<<chiffre<<"\n"<<endl;
    cout << "Nombre de mots : " <<mot<<"\n"<<endl;
    for (compteur=0; compteur<mot; compteur++)
    {
        cout << "["<<compteur<<"] : " << " - " << tabMot[compteur] << endl;
    }
    Tu te perds dans les variables mais il y a de l idée
    Tu essayes en 2eme partie de programme d insérer tabMot[i] (que tu cherches a la base a remplir) dans ptc que tu viens de remplir...
    Ensuite, il te faut stocker les mots que tu as trouvés mais lettre a lettre! C est le plus chi**t ici...
    Et ensuite tu veux afficher tabMot 3 fois (nombre de mots trouvés au passage, ce qui a l air bon ), mais tu renseignes en fait l adresse de ton tableau ...

    Essayes ce qu il y a la et dis moi ce que tu y as compris et comment corriger les conneries que j y ai insérées

  7. #27
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Par défaut
    En essayant ton code, ça fonctionne presque parce qu'il m'affiche des caractères supplémentaires qui ne sont pas en mémoire.

    Par exemple : "il fait beau" j'obtiens : [0] : ila [1] : fait/a [2] : beau

    Sachant qu'il n'y a pas ses caractères dans la mémoire, je ne comprends pas d'ou viennent ses caractères :/

    Là, je vois que tu as rajouté indiceRajout et je pense qu'il est utile pour écrire dans une autre case mémoire si un espace est détecté c'est ça ?

  8. #28
    Membre chevronné
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Par défaut
    Quand tu viens de détecter une lettre, tu comptes la stocker dans la 2nde dimension de ton tableau tabMot.
    Mais comment passes-tu as la case adjacente une fois remplie? Tu incrémentes indiceRajout.
    Si tu tombes sur un espace, tu le remets a zero et tu changes de 1ere dimension. Et rebelotte.
    J imagine que les caracteres en trop sont certainement la parce que tu n as pas initialisé ton tableau des sa création?

Discussions similaires

  1. Décomposition d'une propriété : grammaire ?
    Par mathieu dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 04/05/2004, 10h47
  2. Décomposition d'une chaine de caractères
    Par stephdiplo150 dans le forum C
    Réponses: 3
    Dernier message: 04/03/2004, 23h50
  3. Requete de comptage de doublons spéciale
    Par COliveOnTheNet dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/09/2003, 11h11
  4. Décomposition RGB
    Par Claythest dans le forum Langage
    Réponses: 3
    Dernier message: 16/06/2003, 12h35
  5. Comptage de mots dans une chaîne
    Par kikinou dans le forum Pascal
    Réponses: 10
    Dernier message: 01/01/2003, 03h27

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