Exemples d'utilisations de tableaux

Nous disposons d'un tableau de nmax composantes du type entier.

Nous devons introduire une suite de nombres (n<=nmax).
Nous devons signaler la fin de la série par la saisie de la valeur zéro, qui ne fait pas partie de la liste, et ne doit donc pas être prise en compte.
Enfin, il nous est demandé de provoquer l'affichage de ces valeurs dans l'ordre de saisie.

  1. /*lecture.c */
  2. #include <stdio.h>
  3. #define nmax 10
  4. void main (void)
  5. {
  6. int a, n, k;
  7. int t[nmax];
  8. printf("\nintroduire un nbre :\n");
  9. printf("nbre 0 pour terminer\n");
  10. scanf ("%d", &a);
  11. n=0;
  12. while (a && n<nmax)
  13. {
  14. t[n]=a;
  15. n++;
  16. printf("\nintroduire un nbre :\n");
  17. scanf ("%d", &a);
  18. }
  19. for (k=0;k<n;k++)
  20. printf ("position %d dans le tableau = %d\n", k, t[k]);
  21. }

Le programme range sans tri les nombres dans l'ordre dans lequel ils ont été saisis au clavier.
Lorsque la série est terminée, il renvoie à l'écran les nombres dans cet ordre, précédés de leur position dans le tableau.

On se prémunit ici de l'introduction de plus de valeurs que ne le permet la taille du tableau, par la boucle while.

Par cette même boucle while, on détermine aussi que dés que la variable a n'est plus un entier (while(a) dans while(a && n<nmax)), on sort de la boucle.

Le résultat de l'introduction d'une valeur d'un autre type qu'entier sera l'initialisation de toutes les valeurs du tableau qui suivent la dernière valeur de type entier, avec la valeur de cette dernière.
Exemple:
- Valeurs de saisie clavier: 1 2 3 p
- Valeurs de sortie écran: 1 2 3 3 3 3 3 3 3 3

Document créé le 19/03/2002, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/c-exemple-tableaux.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.