Tableaux , pointeurs en C
jess75
-
MrSlave Messages postés 2657 Statut Membre -
MrSlave Messages postés 2657 Statut Membre -
Bonjour,
Mon problème est très simple je crois mais je débute et je ne trouve pas la solution.
J'ai un tableau d'entier , je dois afficher le max mais aussi le "numéro" de la case.
main()
{
int tab[5];
int i,max,min;
tab[0]= 4 ;
tab[1]= 5 ;
tab[2]= 8 ;
tab[3]= 2;
tab[4]= 3 ;
max=0;
for(i=0;i<5;i++)
{
if (max<tab[i])
{
max=tab[i];
}
}
printf("max=%d\n",max);
}
Cette partie m'affiche bien " max=8" mais comment arriver à afficher que le max se trouve dans tab[2]?Est-ce à ce moment là qu'il faut utiliser des pointeurs?
Merci de votre aide
Mon problème est très simple je crois mais je débute et je ne trouve pas la solution.
J'ai un tableau d'entier , je dois afficher le max mais aussi le "numéro" de la case.
main()
{
int tab[5];
int i,max,min;
tab[0]= 4 ;
tab[1]= 5 ;
tab[2]= 8 ;
tab[3]= 2;
tab[4]= 3 ;
max=0;
for(i=0;i<5;i++)
{
if (max<tab[i])
{
max=tab[i];
}
}
printf("max=%d\n",max);
}
Cette partie m'affiche bien " max=8" mais comment arriver à afficher que le max se trouve dans tab[2]?Est-ce à ce moment là qu'il faut utiliser des pointeurs?
Merci de votre aide
Configuration: Linux Mozilla 1.9.0.3
2 réponses
-
Bonjour,
Tel que tu l'as prévu ton programme n'a pas besoin d'utiliser la notion de pointeur.
Pour répondre à ta question il te suffit de préserver dans une variable (save_i par exemple) la valeur de l'INDICE i chaque fois où la condition if (max<tab[i]) est vérifiée. Ensuite tu affiches cette variable (save_i) dans le printf existant précédée d'un libellé. -
Pourquoi ne pas faire comme ça :
main() { int tab[5]; int i,max,min,position; tab[0]= 4 ; tab[1]= 5 ; tab[2]= 8 ; tab[3]= 2; tab[4]= 3 ; max=0; for(i=0;i<5;i++) { if (max<tab[i]) { max=tab[i]; position = i; } } printf("max=%d\n",max); printf("Le max se trouve au rang : %d\n",position); }