Académique Documents
Professionnel Documents
Culture Documents
Exercice 1: Algorithmique
1. 1. Ecrire un algorithme permettant de supprimer un élément dans un tableau.
Algorithme suppression
Var
T : tableau [1..100] de réels ;
N ,P,i: entiers ;
Rep : caractère ;
Debut
Si N=0 alors
Ecrire(‘le tableau est vide ‘) ;
Sinon
Ecrire(‘entrer l’indice de l’’élément à supprimer :’) ;
Lire(P) ;
Si (P<1) ou (P>N) alors
Ecrire(‘Position hors limites du tableau ‘)
Sinon
Ecrire(‘la valeur dans cette position est :‘,T[P]) ;
Ecrire(‘Confirmer la suppression (O/N) ‘) ;
Lire(Rep) ;
Si Rep=’O’ Alors
N <-- N+1 ;
Pour i <-- P à N-1 Faire
T[i] <-- T[i+1] ;
Fin pour
N <-- N-1; (*il y aura un élément en moins*)
Finsi
Finsi
Finsi
Fin
Dans cet exercice, vous allez saisir les notes de n étudiants (n doit être supérieur à 3).
Le nombre de notes (int) est variable d'un étudiant à un autre.
Soient les tableaux dynamiques suivants (voir schéma):
• Le 1 er tableau contient le nombre de notes de chaque étudiant.
• Le 2 ème tableau contient les notes de chaque étudiant.
Exercice 5 : Structure+Tableau
Ecrire un programme C, qui lit le nom, le prénom et l'âge de plusieurs personne dans un tableau de
structures, puis insère une nouvelle personne dans une position entrée par l'utilisateur.
Correction
• Dans cet exercice, on va apprendre à insérer un élément de structure dans un tableau, en
utilisant comme support une structure nommée Personne, qui se compose de trois entités:
deux chaines de caractères pour le nom et le prénom d’une personne, et un entier pour
représenter son âge.
• Tout d'abords, on demande puis on lit le nombre de personnes qui seront entrées par
l'utilisateur (lignes 13-14). Et on remplit ensuite le tableau t, dont les éléments sont de
type struct Personne, à l'aide d'une boucle for, en lisant à chaque itération le nom, le prénom
et l'âge d'une personne (lignes 15-23). Et on affiche le tableau avant de passer aux tâches qui
suivent (lignes 25-26).
• Pour pouvoir insérer une nouvelle personne dans le tableau, on doit décaler tous ses
éléments qui se trouvent à droite de la position où on souhaite insérer le nouvel élément
d’une case vers la droite (cette dernière elle aussi incluse). Mais avant, on demande à
l’utilisateur l’indice k de cette position, et on incrémente ensuite la taille n du tableau t par 1.
• Après, on décale les éléments du tableau t, en commençant par la dernière case jusqu'à
arriver à la case k. Et ceci en utilisant une boucle for (lignes 31-36). A titre de rappel
l'opération d'affectation entre les variables structure ou même entre les chaines de caractères
n’est pas valide, donc pour décaler les cases du tableau on va les déplacer élément par
élément. C'est à dire que le nom, le prénom et l'âge dans chaque case seront déplacés
séparément (lignes 33-35). Et pour le nom et le prénom qui sont des chaines de caractères,
on utilisera la fonction strcpy définie dans la bibliothèque standard string.h (lignes 33-34).
• Après avoir translaté les éléments du tableau, on demandera de saisir les informations de la
nouvelle personne, qu’on va lire dans les variables t[k].nom, t[k].prenom et t[k].age (lignes
38-43). Pour terminer le programme, on réaffiche le tableau pour noter les modifications
apportées.