• Aucun résultat trouvé

TD3 - Allocation de mémoire Exercice 1:

N/A
N/A
Protected

Academic year: 2022

Partager "TD3 - Allocation de mémoire Exercice 1:"

Copied!
1
0
0

Texte intégral

(1)

TD3 - Allocation de mémoire

Exercice 1:

1. Écrire une fonction clone qui crée une “clone” de la chaîne de caractères passée en paramètre (un seul paramètre). La clone est créée par allocation de mémoire à l’intérieur de la fonction.

2. Écrire un programme qui lit une chaîne de caractères (avecscanf), crée une clone de cette chaîne en appelant la fonction écrite au point précédent et affiche cette clone.

Exercice 2:

Supposons la structure déclarée comme suit :

struct liste{

int val;

struct liste *ptr;

}

1. Écrire une fonction qui prend en paramètre un pointeur vers unestruct liste, considéré comme la tête d’une liste chaînée d’entiers, et affiche tous les éléments de la liste.

2. Écrire une fonction qui prend en paramètre le même type de pointeur, plus un entiern, crée un nouveau noeud avecval = net insère le nouveau noeud à la 5e position dans la liste (donc entre le 4e noeud et le 5e).

3. Écrire une fonction qui prend en paramètre le même type de pointeur, plus deux entiers (appelons-les netpos), et insère l’entiernentre le(pos-1)-ième et lepos-ième noeud de la liste.

4. Écrire une fonction qui prend en paramètre le même type pointeur plus un entiernet supprime l’entier qui se situe à la positionndans la liste chaînée. Attention ! Cette fonction devrait fonctionner correc- tement même sinest plus grand que le nombre de noeuds dans la liste ! (et donc ne rien faire dans ce cas-là !)

5. Écrire un programme qui lit une suite d’entiers saisie au clavier et crée une liste chaînée (dans l’ordre de saisie), puis lit encode deux entiersnetposet insèrenà la positionposen appelant la fonction écrite au point précédent.

Pour la construction de la liste chaînée pendant la lecture de la suite d’entiers au clavier, reprendre le code vu en cours pour la construction d’une liste chaînée dans ordre de saisie.

Exercice 3:

Écrire une fonction qui lit une suite de chaînes de caractères (terminée par la chaîne composée du chiffre 0), et crée une liste chaînée qui contient les chaînes de caractères dans l’ordre inverse de saisie. Pour cela, adapter le code vu en cours pour la construction d’une liste chaînée en ordre inverse de saisie.

Exercice 4:

1. Écrire une fonction concat qui reçoit en paramètre deux chaînes de caractères et crée (en allouant de la mémoire) une troisième chaîne dans laquelle la fonction copie les deux chaînes.

2. Écrire un programme qui lit deux chaînes de caractères (avecscanf), les concatène en appelant la fonction écrite au point précédent et affiche le résultat.

Références

Documents relatifs

Adapter la fonction de création pour créer une liste linéaire chaînée dans l'ordre FIFO à partir de ce fichier binaire.. Exercice 2 : Supposons que les données

On donne deux entiers a et b, > 1 et premiers

On pose le nombre de 9 terminant l’écriture décimale de , et le nombre précédant tous ces 9 dans cette écriture décimale. On remarque en particulier que ne finit donc pas

[r]

[r]

Donne le chiffre des unités de millions pour chaque nombre.. 24 Trouve chacun des

15 Complète chaque suite de nombres avec les quatre entiers qui la poursuivent logiquement.. Donne l'écriture en chiffres de chacune des

•cinq millions deux cent dix-huit mille trois cent quatre =………. •un million trois mille deux