Skip to content

Classe inversée : Les Tableaux

1. Cours : les tableaux

Déclaration et accès

  • Un tableau est une collection d’éléments du même type, accessibles via un indice commençant à 0.
int notes[5];         /* tableau de 5 entiers */
notes[0] = 10;        /* accès au premier élément */
  • Initialisation à la déclaration :
int notes[5] = {10, 12, 15, 8, 14};
  • Parcours d’un tableau avec une boucle for :
int i;
for (i = 0; i < 5; i++) {
    notes[i] = i+1;
}

Que contient le tableau après cette boucle ?

Passage d’un tableau à une fonction

Pour passer un tableau à une fonction, il y a deux variables à transmettre :

  • le nom du tableau que l'on fera précéder du type des éléments contenus et que l'on fera suivre d'une paire de crochet vide
  • un entier pour transmettre la taille du tableau (le nombre d'éléments) à la fonction
void afficher(int t[], int taille);

ou équivalent :

void afficher(int *t, int taille);
  • Exemple d’implémentation :
void afficher_dernier(int t[], int taille) {
    int i;
    printf("Dernier Element : %d\n", t[taille-1]);
}

Warning

il n'y a aucun controle de débordement de la part du compilateur. vous pouvez écrire

    printf("1000e Element : %d\n", t[999]);
le compilateur ne dira rien, mais une erreur est plus que probable à l'execution. C'est une des raisons pour lesquelles vous devez passer la taille en tant que deuxième paramètre.

et l'appel :

int main(){
    int tab[5] = {1,2,3,4,5};
    afficher_dernier(tab,5);
    return 0;
}

2. Exercices pratiques

Consignes générales

  • Chaque exercice doit être implémenté dans une fonction séparée.
  • Un main() de test est fourni et peut être complété si besoin.

Exercice 1 : Affichage du tableau

Prototype :

void afficher(int t[], int taille);

Tâches :
- Afficher tous les éléments du tableau.

Exercice 2 : Somme des éléments

Prototype :

int somme(int t[], int taille);

Tâches :
- Calculer la somme de tous les éléments du tableau.
- Retourner la somme.

Exercice 3 : Moyenne des éléments

Prototype :

float moyenne(int t[], int taille);

Tâches :
- Calculer la moyenne (somme / taille).
- Retourner la moyenne comme float.

Main de test à compléter

include <stdio.h>

/* Prototypes des fonctions à implémenter */
void afficher(int t[], int taille);
int somme(int t[], int taille);
float moyenne(int t[], int taille);

int main() {
    int notes[5] = {10, 12, 15, 8, 14};
    int taille = 5;
    int total;
    float moy;

    /* Exercice 1 : afficher le tableau */
    afficher(notes, taille);

    /* Exercice 2 : calculer la somme */
    total = somme(notes, taille);
    printf("La somme des elements est : %d\n", total);

    /* Exercice 3 : calculer la moyenne */
    moy = moyenne(notes, taille);
    printf("La moyenne des elements est : %.2f\n", moy);

    return 0;
}

Sujet rédigé à l'aide de ChatGPT et Gemini