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 :

trouver la valeur minimum et la valeur max dans un tableau


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Points : 7
    Points
    7
    Par défaut trouver la valeur minimum et la valeur max dans un tableau
    Bonjour à tous,
    voilà j'ai un petit probleme qui je pense est facilement resolvable en c++.
    J'ai un programme assez basique qui en gros genere un tableau.
    J'aimerais dans ce tableau afficher la meilleure valeur et la valeur minimum de chaque colonne. Mon probleme est que je ne sais pas utiliser les curseurs * pour les tableaux.

    en simplifiant le probleme a 20 dimensions je fais dans ma procedure de print:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for (column=0; column<20; column++)
    {
    for (line= 0 ;   line<20 ;line++)
            {
     
            // trouver la meilleure valeur et la minimum: 0 n'est pas une valeur minimum, on prendra la valeur suivante, ce que je ne sais pas faire
            //bestvalue=?
            //minvalue=?
            }
    }
    fprintf(out,"best value =%d" ,bestvalue) ;
    fprintf(out,"min value=%d" ,minvalue) ;
    fprintf(out,"\n") ;
    Merci de votre aide...

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Bonjour,

    Citation Envoyé par piheb Voir le message
    Bonjour à tous,
    voilà j'ai un petit probleme qui je pense est facilement resolvable en c++.
    J'ai un programme assez basique qui en gros genere un tableau.
    J'aimerais dans ce tableau afficher la meilleure valeur et la valeur minimum de chaque colonne.
    C'est relativement simple... (Cf plus bas)

    Mon probleme est que je ne sais pas utiliser les curseurs * pour les tableaux.
    Euh... Qu'entends-tu par "curseurs" ?

    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
     
    int matrice[20][20];
    // [...]
    int column = 0;
    int line = 0;
    for (column=0; column<20; column++) {
       int bestvalue = 0;
       int minvalue = 0x0fffffff; // J'ai un doute... Mettre la valeur max de 'int', elle est définie quelque part...
       for (line= 0; line<20; line++) {
          bestvalue = MAX (bestvalue, matrice[column][line]);
          minvalue = MIN (minvalue, matrice[column][line]);
       }
       fprintf(out,"best value =%d" ,bestvalue) ;
       fprintf(out,"min value=%d" ,minvalue) ;
       fprintf(out,"\n");
    }
    Pour 'MIN' et 'MAX', je ne sais plus si il y a déjà des fonctions prédéfinies pour cela... Si ce n'est pas le cas, ça tient en une ligne !
    A noter (pour les puristes du c++) que "fprintf" c'est du C... Voir dans la faq c++ pour la correspondance...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 69
    Points : 142
    Points
    142
    Par défaut
    Le tout serait beaucoup plus simple, lisible et clair en véritable C++, en appelant les conteneurs et algos de la STL.

  4. #4
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    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
     
    std::vector< std::vector<float> > tab(20); // 20 colonnes
     
    // remplissage de tab ...
     
    std::vector< std::vector<float> >::const_iterator b = tab.begin();
    std::vector< std::vector<float> >::const_iterator e = tab.end();
     
    std::vector<float> mins,maxs;
    while( b != e)
    {
       mins.push_back( *std::min_element((*b).begin(),(*b).end()) );
       maxs.push_back( *std::max_element((*b).begin(),(*b).end()) );
     
      b++;
    }
    De tête et sans les include

Discussions similaires

  1. recherche valeur max dans un tableau
    Par www.rubis dans le forum Langage
    Réponses: 4
    Dernier message: 31/01/2011, 17h43
  2. Réponses: 6
    Dernier message: 11/11/2010, 23h58
  3. stocker des valeurs entiéres dns un fichier csv dans un tableau
    Par industrielle dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 22/03/2009, 18h40
  4. Réponses: 3
    Dernier message: 22/03/2008, 11h48
  5. Réponses: 5
    Dernier message: 12/06/2006, 12h05

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