Tableau

sebastienbro Messages postés 246 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 5 août 2004 - 19 janv. 2003 à 10:36
cs_davidsm Messages postés 35 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 12 novembre 2004 - 19 janv. 2003 à 23:27
Arf, g un problème. Comment on fait pour trouver la valeur la plus haute d'un tableau ? Un peu commen UBound en VB ou High en delphi, mai g po trouver en c++. Pis pendan kon y es, commen on fé pour la valeur la + petite ? (Low en delphi et Lbound en vb)

Bye

\* -- [mailto:sebastienbro@aol.com Seb] -- */

4 réponses

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
19 janv. 2003 à 12:39
Salut
Réponse courte : ON NE PEUT PAS

en VB, les tableaux sont des structures complexes qui contiennent des méta informations sur le type et nombre des éléments => ce sont des SAFEARRAYs
en C++ tous les tableaux commencent à l'indice 0
(facile pour ta deuxième question)
la longueur du tableau n'est pas connue...
sauf si il est déclaré dans la même unité de compilation (le même fichier .CPP auquel cas on peut utiliser la formule suivante
char tab[25]={0};
cout << sizeof(tab)/sizeof(*tab) << endl;//ecrit 25

Sinon, on convient de toujours passer la taille du tableau avec le pointeur
ex : void f(char tab[], int taille);

Ou alors on utilise PAS de TABLEAU mais des conteneurs des la STL. Eux sont de vrais objets et connaissent leur taille
Exemple : le vector
0
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 2
19 janv. 2003 à 12:46
-------------------------------
Réponse au message :
Ton tableau est-il trié ou pas? Si oui il faut effectuer une recherbinaire mais ça ne marche que si il est trié. Alors je vais t'expliqué la méthode la plus lente mais qui fonctionne à tout les coups.

La fonction va parcourir tout le tableau en partant du début. La première valeur du tableau est le max. On lit la seconde puis on compare avec le max. Si la secondes est plus grande est prend la place de la variable max. On fait la même chose pourla troisième et ainsi de suite jusqu'a ce que tu arrive à la fon du tableau.

Pour trouver le minimun c'est presque la même chose mais la première valeur sera le min.

Sinon la classe vector gère les min max et plein d'autres trucs encore.

-------------------------------

> Arf, g un problème. Comment on fait pour trouver la valeur la plus haute d'un tableau ? Un peu commen UBound en VB ou High en delphi, mai g po trouver en c++. Pis pendan kon y es, commen on fé pour la valeur la + petite ? (Low en delphi et Lbound en vb)
>
> Bye
>
> \* -- [mailto:sebastienbro@aol.com Seb] -- */
0
cs_davidsm Messages postés 35 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 12 novembre 2004
19 janv. 2003 à 23:24
La plus haut, tu veux dire la plus grande.
Utilise un for et chercher le +grand ou plus simple utilise la STL.
Tu trouves ci-dessous un exemple pour +grand et +petit.

#include
#include [mailto:sebastienbro@aol.com Seb] -- */
0
cs_davidsm Messages postés 35 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 12 novembre 2004
19 janv. 2003 à 23:27
-------------------------------
Réponse au message :
-------------------------------

> La plus haut, tu veux dire la plus grande.
> Utilise un for et chercher le +grand ou plus simple utilise la STL.
> Tu trouves ci-dessous un exemple pour +grand et +petit.
>
> #include
> #include [mailto:sebastienbro@aol.com Seb] -- */
>
0
Rejoignez-nous