Exercice 35
Énoncé
Écrire, de deux façons différentes, un programme qui lit 10 nombres entiers dans un
tableau avant d’en rechercher le plus grand et le plus petit :
a. en utilisant uniquement le « formalisme tableau » ;
b. en utilisant le « formalisme pointeur », à chaque fois que cela est possible.
a. La programmation est, ici, classique. Nous avons simplement défini une constante
NVAL destinée à contenir le nombre de valeurs du tableau. Notez bien que la
déclaration int t[NVAL] est acceptée puisque NVAL est une « expression constante ».
#include
using namespace std ;
main()
{ const int NVAL = 10 ; /* nombre de valeurs du tableau */
int i, min, max ;
int t[NVAL] ;
cout << "donnez " << NVAL << " valeurs\n" ;
for (i=0 ; i> t[i] ;
max = min = t[0] ;
for (i=1 ; i { if (t[i] > max) max = t[i] ; /* ou max = t[i]>max ? t[i] : max */
if (t[i] < min) min = t[i] ; /* ou min = t[i] }
cout << "valeur max : " << max << "\n" ;
cout << "valeur min : " << min << "\n" ;
}
b. On peut remplacer systématiquement t[i] par *(t+i). Voici finalement le programme
obtenu :
#include
using namespace std ;
main()
{ const int NVAL = 10 ; /* nombre de valeurs du tableau */
int i, min, max ;
int t[NVAL] ;
cout << "donnez " << NVAL << " valeurs\n" ;
for (i=0 ; i> *(t+i) ;
max = min = *t ;
for (i=1 ; i { if ( *(t+i) > max) max = *(t+i) ;
if ( *(t+i) < min) min = *(t+i) ;
79
Précédent

- 80/398

Suivant