Retourner maximun et indice de tab 2D en C
Résolu
Danie
-
Danie -
Danie -
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
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
Configuration: Windows XP Internet Explorer 6.0
3 réponses
-
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. -
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 -
Exact, je n'avais pas remarqué...
j n'est pas déclaré, et il n'y a pas de boucle non plus.