Enoncés






Exo 1 :
Un tableau doit mémoriser les superficies de chaque pièce d'un pâté de maisons homogène. Il y a 9 immeubles, 6 étages par immeubles, 3 appartements par étage et 3 pièces par appartement. Donnez la définition du tableau correspondant.

Exo 2 :
On désire ranger dans un tableau le nom (de longueur au plus 20) et le prénom (de longueur au plus 20) de dix étudiants. Pour cela on utilise une structure nommée etudiant qui comporte le champ nom et le champ prenom. Après avoir défini cette structure vous donnerez le déclaration du tableau correspondant.

Exo 3 :
Ecrire un programme qui lit 10 nombres entiers dans un tableau avant d'en chercher le plus grand et le plus petit, en utilisant le formalisme tableau.





Solutions



Exo 1 :
int tableau [9] [6] [3] [3];


Exo 2 :
struct etudiant
{
char nom[20];
char prenom[20];
};

struct etudiant tableau[10];



Exo 3 :
#include <stdio.h>
#define NVAL 10

void main()
{
int tab[NVAL] ;
int i , min , max ;
printf("Donnez %d valeurs :\n" , NVAL) ;
for (i=0 ; i < NVAL ; i++) scanf("%d", &tab[i]) ;
max = min = tab[0];
for (i=0 ; i < NVAL ; i++)
{
if (tab[i] > max) max = tab[i] ;
if (tab[i] < min) min = tab[i] ;
}
printf("valeur max : %d\n",max) ;
printf("valeur min : %d\n",min) ;
}



explications :


On définit un symbole NVAL qui contient le nombre de valeurs du tableau (ici, 10), avec la fonction #define .

Ne pas oublier le & dans le scanf.




Renseignements sur : printf, scanf, les caractères de formattage , les types, tableaux, la boucle for, les structures, les chaines de caractères.