Retourner maximun et indice de tab 2D en C

Résolu/Fermé
Danie - 28 avril 2009 à 09:01
 Danie - 28 avril 2009 à 12:58
Bonjour,

j'aimerais retourner le maximun d'un tableau 2D mais aussi les indices du maximum


int sommet; //le sommet
//indices des maximum
int imax;
int jmax;

RechercheSommet(){
for(i=0; i< taille; i++){
if (tab[i][j] > tab[imax][jmax]){
imax = i;
jmax = j;
sommet = tab[imax][jmax];
}
return sommet;
}

Mais ensuite dans une autre fonction je n'arrive pas a recuperer imax et jmax.
Pareil si je fais return tab[imax][jmax];
J'arrive juste a recuperer la valeur du maximale

Merci pour vos conseils
A voir également:

3 réponses

squall289 Messages postés 98 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 29 mai 2009 13
28 avril 2009 à 10:37
Bonjour,
il me semble que tu ne peux pas retourner de tableaux en C, il faut que tu le passe en paramètre et que tu le modifie.
0
Merci Squal289 pour tes conseils
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
28 avril 2009 à 10:55
Salut,
Tu peux renvoyer un pointeur sur une zone allouée du tas qui contiendra en première et deuxième cases les indices du maximum et en troisième la valeur du maximum.
Ou alors, et c'est ce que je te conseille, passer les adresses des valeurs en paramètres pour les modifier.
Evite les variables globales autant que possible.

De plus ton algorithme de recherche de la valeur maximum du tableau en 2D n'est pas bon. Tu modifies que la première dimension.

Cdlt
0
Merci Fiddy pour tes conseils,
effectivement j ái oublier la boucle sur les j
0
squall289 Messages postés 98 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 29 mai 2009 13
28 avril 2009 à 11:15
Exact, je n'avais pas remarqué...
j n'est pas déclaré, et il n'y a pas de boucle non plus.
0