2AP
Mouad JBEL
TP4
Allocation dynamique
Exercice 1:
1. Écrivez un programme qui demande à l'utilisateur la taille d'un tableau, alloue
dynamiquement la mémoire nécessaire, demande à l'utilisateur d'entrer les
éléments, puis affiche les éléments du tableau. N'oubliez pas de libérer la mémoire
après utilisation.
2. Écrivez un programme qui prend un tableau d'entiers, sa taille, et un index, puis
supprime l'élément à l'index spécifié en déplaçant les éléments restants. N'oubliez
pas de réallouer la mémoire si nécessaire.
3. Ecrire un programme qui trouve le plus petit élément d’un tableau creer à l’aide
de l’allocation dynamique de mémoire.
EXERCICE 2
1. Écrire une fonction float* Lecture(int taille) permettant de lire les
éléments d'un tableau et le retourne.
2. Ecrire une fonction void affichage(float *tab, int taille) permettant
d’afficher le contenu du tableau passé en paramètre.
3. Ecrire une fonction float * Min_Max(float *tab, int taille) permettant
de retourner le minimum du tableau et sa position ,ainsi que le maximum et sa
position.
4. Ecrire une fonction void afficher(float *tab, int taille) qui va afficher
les éléments qui existent entre imin et imax lorsque imax >= imin , sinon va afficher
le message : ’’une erreur de positionnement des indices ’’.
5. Tester toutes ces fonctions dans le programme principale main.
EXERCICE 3
1. Ecrire une fonction void Lecture(int *tab, int taille) qui prend un tableau
d’entiers et le rempli.
2. Ecrire une fonction void Affichage(int *tab, int taille) permettant
d’afficher le contenu du tableau .
3. Ecrire une fonction int commun(int *t1, int n1, int *t2, int n2)
permettant de déterminer le nombre des éléments en commun entre les deux
tableaux.
2AP
Mouad JBEL
4. Ecrire une fonction float rassemblance(int *t1 ,int n1 ,int *t2, int
n2) qui va retourner le coefficient de rassemblance. NC=
n_commun/max(n1,n2).
5. En modifiant le corps de la fonction commun() ,écrivez une fonction int*
rassemblenceTab(int *t1 ,int n1 ,int *t2 ,int n2) qui retourne un
tableau qui inclut les éléments en commun entre t1 et t2.
6. Tester toutes ces fonctions dans le programme principale main().
EXERCICE 4
1. Ecrire une fonction int Trier(int *tab,int taille) qui retourne 1 si le
tableau est trié dans l’ordre croissant , 2 s’il est trié dans l’ordre décroissant, 0
sinon (s’il n’est pas trié)
2. Ecrire une fonction int * fusionCroissant(int *t1,int n1,int *t2,int
n2) qui va fusionner deux tableaux dynamiques passés comme paramètre, on doit
tester premièrement si les deux tableaux sont bien triés dans l’ordre croissant, et
après ces deux tableaux doivent être fusionnés dans un nouveau tableau à
retourner.
- Exemple :
3. Tester ces fonctions dans le programme principale main().