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

Algorithmes et structures de données Discussion :

Reclasser les données d'un vecteur en matrice


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expert
    Profil pro
    Dév
    Inscrit en
    Juin 2007
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dév

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 154
    Points : 3 667
    Points
    3 667
    Par défaut Reclasser les données d'un vecteur en matrice
    Bonjour,

    J'ai à la base un vecteur avec des valeurs du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HD420D; 3DS200; HD420D; 3256Z; 3256Z; HD420D
    Je voudrais à partir de ce vecteur avoir une matrice qui donne le nombre d'occurrences tel que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HD420D; 3
    3DS200; 1
    3256Z; 2
    L'ordre n'a aucune importance.

    Merci de votre aide

  2. #2
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 581
    Points : 7 372
    Points
    7 372
    Par défaut
    je ne sais pas si ça peut répondre à ta question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    vecteur = ton vecteur
    TAILLE = nombre d'entrées dans le vecteur
     
    // initialiser ton tableau
    for( iterateur.begin=0; iterateur.end=TAILLE-1 )
    	matrice[vecteur[iterateur]] = 0;
     
    // calculer tes occurrences:
    for( iterateur.begin=0; iterateur.end=TAILLE-1 )
    	matrice[vecteur[iterateur]] += 1;
    Après, tu peux peut-être simplifier tout ça selon le langage que tu vas utiliser.
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ce que tu veux, c'est une table associative, c'est à dire un tableau donc les indices ne sont pas forcément des nombres. La plupart des langages de haut niveau ont de telles structures. En C++ ca s'appelle une map... Et tu ferais quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // ceci est la table, le premier champ est l'entrée, le second, le compte, 
    //initialisé à zéro par le système
    map<string,int> mamap;
    for(int i=0;i<taille_vecteur;i++) {
       mamap[vecteur[i]]++;
    }
    C'est tout... mamap contient maintenant tes données, il suffit de les imprimer.

    Francois

Discussions similaires

  1. récupérer les données d'une matrice
    Par olivier59820 dans le forum MATLAB
    Réponses: 1
    Dernier message: 14/07/2011, 17h59
  2. Réponses: 8
    Dernier message: 07/02/2011, 14h20
  3. lire les données d'un fichier text dans un vecteur
    Par kruskal21 dans le forum MATLAB
    Réponses: 5
    Dernier message: 11/01/2011, 17h52
  4. récupérer les fréquences dans les données stockées dans une matrice
    Par bahja29 dans le forum Traitement du signal
    Réponses: 8
    Dernier message: 20/03/2009, 14h21
  5. Réponses: 5
    Dernier message: 20/07/2008, 18h31

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