Atelier de programmation II
Exercice1
Ecrire, exécuter et commenter le programme suivant :
#include <stdlib.h>
#include <stdio.h>
void main () {
int *ptr;
int a, b, c;
int tab[3 ];
int i;
a=1;
b=2;
c=3;
tab[0 ] = 5 ;
tab[1 ] = 8 ;
tab[2 ] = 12 ;
/* Faire en sorte que ptr reference une variable existante */
ptr = &a;
printf ("Valeur actuelle de la donnee referencee par ptr = %d\n" ,*ptr);
ptr = &b;
printf ("Valeur actuelle de la donnee referencee par ptr = %d\n" ,*ptr);
ptr = &tab[1 ];
printf ("Valeur actuelle de la donnee referencee par ptr = %d\n" ,*ptr);
/* Modifier la valeur de ce qui est reference par ptr */
ptr = &c;
printf ("Valeur actuelle de la donnee referencee par ptr = %d\n" ,*ptr);
c=4;
printf ("Valeur actuelle de la donnee referencee par ptr = %d\n" ,*ptr);
/* Reserver une zone memoire referencee par ptr */
ptr = (int*) malloc(sizeof(int));
*ptr = 10 ;
printf ("Valeur actuelle de la donnee referencee par ptr = %d\n" ,*ptr);
free(ptr);
/* Reserver une zone memoire reference par ptr II : tableau dynamique */
ptr = (int*) malloc(5 *sizeof(int));
*ptr = 1 ;
*(ptr+1 ) = 5 ;
*(ptr+2 ) = 10 ;
*(ptr+3 ) = 15 ;
*(ptr+4 ) = 20 ;
for (i=0 ; i < 5 ; i++) {
printf ("Valeur actuelle de l'element %d du tableau dynamique défini par ptr = %d\n" ,i, *(ptr+i));
}
free(ptr);
}
1
Exercice 2
Ecrire un programme C qui permet de
Déclarer un entier i et un pointeur p vers un entier ;
Initialiser l'entier à une valeur arbitraire et faire pointer p vers i ;
afficher la valeur de i ;
Modifier l'entier pointé par p (en utilisant p, pas i) ;
afficher la valeur de i.
Exercice 3
Ecrire un programme C en utilisant les pointeurs qui permet de
Déclarer et initialiser un tableau d'entiers t avec des valeurs.
afficher le tableau t.
Calculer la somme des éléments du tableau.
Exercice 4
Ecrire un programme C en utilisant les pointeurs qui permet de
Déclarer et initialiser un tableau d'entiers t avec des valeurs.
afficher le tableau t.
Inverser les éléments du tableau.
Exercice 5
Ecrire un programme C en utilisant les pointeurs qui permet de
Déclarer et initialiser un tableau d'entiers t avec des valeurs.
afficher le tableau t.
trier par ordre croissant les éléments du tableau.
Exercice 6
Ecrire un programme C en utilisant les pointeurs qui permet de
Remplir un tableau d'entiers T.
Remplir une matrice d'entiers M.
Construire une matrice P représentant un triangle de Pascal d’ordre n.
Exp : si n=6, on obtiendra le triangle de Pascal suivant :
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1