Exercices corrigés sur les tableaux en Python, Java et langage C - TD1-

02 Feb 2020 02 Feb 2020 58857 vues ESSADDOUKI Mostafa 18 min de lecture

Un tableau est une structure de données linéaire qui contient une collection séquentielle finie de données homogènes (tous les éléments sont du même type).

Le tableau utilise un index entier pour accéder à un élément spécifique. L'index commence à 0 et va jusqu'à N-1 (où N est la taille du tableau).

Définition — Tableau à une dimension Un tableau est une collection d'éléments stockés dans des emplacements de mémoire contigus. Chaque élément est accessible en O(1) via son indice : tab[i].

Représentation mémoire pour un tableau de 5 entiers :
Index01234
Valeur37498

Dans les exercices suivants, nous nous concentrerons sur des tableaux à une dimension. Tous les exercices sont résolus en Python, Java et C.

   
Déclaration et utilisation d'un tableau C
/* Déclaration statique (taille fixe) */
#define TAILLE_MAX 1000
int tab[TAILLE_MAX];

/* Accès aux éléments */
tab[0] = 10;       /* écriture */
int x = tab[0];    /* lecture  */

/* Parcours avec for */
for (int i = 0; i < N; i++)
    printf("%d  ", tab[i]);
Patron commun — Saisie + Parcours Tous les exercices suivent le même schéma :
1. Saisir la taille N du tableau.
2. Remplir le tableau élément par élément (boucle de 0 à N-1).
3. Parcourir le tableau pour calculer ou afficher un résultat.

Exercice 1 — Saisie et affichage d'un tableau

 Exercice

Déclarer, remplir et afficher un tableau

 Niveau : Débutant

Écrire un programme qui déclare et initialise un tableau, saisit ses N éléments depuis l'utilisateur, puis affiche le tableau.

Exemple
Entrée
5
3  7  4  9  8
Sortie
3, 7, 4, 9, 8
Explication : On lit 5 entiers et on les stocke dans tab[0]tab[4], puis on les affiche dans l'ordre.
Contraintes
  • 1 ≤ N ≤ 1000
  • Les éléments sont des entiers relatifs

Exercice 2 — Afficher les éléments négatifs

 Exercice

Filtrer et afficher les éléments négatifs d'un tableau

 Niveau : Débutant

Écrire un programme qui saisit un tableau de N entiers et affiche uniquement les éléments négatifs.

Exemple
Entrée
5
3  -7  4  -9  8
Sortie
-7, -9
Explication : Seuls tab[1] = -7 et tab[3] = -9 vérifient la condition < 0.

Exercice 3 — Somme des éléments d'un tableau

 Exercice

Calculer la somme de tous les éléments

 Niveau : Débutant

Écrire un programme qui saisit un tableau de N entiers et calcule la somme de tous ses éléments.

Exemple
Entrée
5
3  7  4  9  8
Sortie
Somme = 31
Explication : 3 + 7 + 4 + 9 + 8 = 31.

Exercice 4 — Maximum et Minimum d'un tableau

 Exercice

Trouver l'élément maximum et l'élément minimum

 Niveau : Débutant

Écrire un programme qui saisit un tableau de N entiers et affiche le maximum et le minimum.

Exemple
Entrée
5
3  7  4  9  8
Sortie
Maximum = 9
Minimum = 3
Explication : Après parcours : max = 9 (à l'indice 3), min = 3 (à l'indice 0).

Exercice 5 — Premier et deuxième plus grand

 Exercice

Trouver les deux plus grandes valeurs du tableau

 Niveau : Intermédiaire

Écrire un programme qui saisit un tableau de N entiers et trouve le premier et le deuxième plus grand élément.

Exemple
Entrée
5
3  7  4  9  8
Sortie
Premier plus grand  : 9
Deuxième plus grand : 8
Explication : 9 est le max absolu, 8 est le second — on les trouve en un seul parcours.

Exercice 6 — Compter les éléments pairs et impairs

 Exercice

Compter combien d'éléments sont pairs et combien sont impairs

 Niveau : Débutant

Écrire un programme qui saisit un tableau de N entiers et affiche le nombre d'éléments pairs et le nombre d'éléments impairs.

Exemple
Entrée
5
3  7  4  9  8
Sortie
Nombre d'éléments pairs   : 2
Nombre d'éléments impairs : 3
Explication : Pairs : 4, 8 → compteur = 2. Impairs : 3, 7, 9 → compteur = 3.

Exercice 7 — Copier un tableau dans un autre

 Exercice

Copier tous les éléments d'un tableau source vers un tableau dest

 Niveau : Débutant

Écrire un programme qui déclare deux tableaux, remplit le tableau source, copie tous ses éléments dans le tableau dest, puis affiche les deux tableaux.

Exemple
Entrée
5
3  7  4  9  8
Sortie
Tableau source : 3, 7, 4, 9, 8
Tableau dest   : 3, 7, 4, 9, 8
Explication : Chaque élément source[i] est copié vers dest[i]. Les deux tableaux occupent des emplacements mémoire distincts.

Récapitulatif — Opérations essentielles sur les tableaux

OpérationCPythonJava
Déclarationint tab[N];tab = [0]*Nint[] tab = new int[N];
Accèstab[i]tab[i]tab[i]
Taillesizeof(tab)/sizeof(tab[0])len(tab)tab.length
Sommeboucle + accumulateursum(tab)boucle + accumulateur
Maximumboucle comparaisonmax(tab)Arrays.stream(tab).max()
Triqsort()tab.sort()Arrays.sort(tab)
Copieboucle élément par élémentdest = source.copy()Arrays.copyOf(src, N)
Sortie
// La sortie apparaîtra ici…
Prêt · Ctrl+Entrée pour exécuter

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.