Algorithmique et structures de données II
Page 3
pk = (int*)malloc(3*sizeof(int));
free(pi);
free(pr);
Exercice 3:
adr1 et adr2 sont des pointeurs pointant sur des réels. Le contenu de adr1 vaut -45,78; le contenu de
adr2 vaut 678,89. Ecrire un programme qui affiche les valeurs de adr1, adr2 et leur contenu.
Exercice 4:
Saisir un texte. Ranger les caractères en mémoire. Lire le contenu de la mémoire et y compter le
nombre d'espaces et de lettres e.
Exercice 5 :
Écrire une fonction int* concat_tab(int t1[], int n1, int t2[], int n2) qui prend en paramètres deux
tableaux et leurs tailles respectives, et qui renvoie leur concaténation. Il faudra allouer un nouveau
tableau pour contenir cette concaténation.
Exercice 6 :
Écrire une fonction char* concat_string(char* s1, char* s2) qui prend en arguments deux chaînes de
caractères et qui renvoie leur concaténation (il faut allouer un nouveau tableau pour la contenir).
Exercice 7 :
On se donne une structure «livre» :
typedef struct livre {
char titre[20];
int cote;
int prix;
} Livre;
On veut créer une bibliothèque de plusieurs livres, sous la forme d’un tableau de livres.
1) Écrire une fonction init qui renvoie un tableau de n livres, qui alloue la mémoire nécessaire et qui
initialise les champs à 0 ou à la chaîne de caractères vide.
2) Écrire une fonction qui permet la saisie d’un livre.
2) Écrire une fonction qui affiche un tableau de n livres.
4) Écrire une fonction qui fait l’échange des livres d’indice i et j dans le tableau de livres.