Vous êtes sur la page 1sur 2

OPM TP 3 LANGAGE C {TABLEAU,MATRICE, POINTEUR, FONCTION 2018/2019

TP 3 _Partie 1 {TABLEAU,MATRICE}

Exercice 1 Exercice 4 Triangle de Pascal :


‵Ecrire un programme qui lit la dimension N d'un tableau T du type Ecrire un programme qui construit le triangle de PASCAL de degré N et
int (dimension maximale : 50 composantes), remplit le tableau par des le mémorise dans une
valeurs entrées au clavier et affiche le tableau.
matrice carrée P de dimension N+1.
1. Calculer et afficher la somme des éléments du tableau.
Exemple : Triangle de Pascal de degré 4 :
2. Copiez toutes les composantes strictement positives dans un
deuxième tableau TPOS et toutes les valeurs strictement négatives n=0 1
dans un troisième tableau TNEG. Afficher les tableaux TPOS et n=1 1 1
n=2 1 2 1
TNEG.
n=3 1 3 3 1
Exercice 2: Calcul d'un polynôme de degré N n=4 1 4 6 4 1
Calculer pour une valeur X donnée du type float la valeur numérique Méthode :
d'un polynôme de degré n :
Calculer et afficher seulement les valeurs jusqu'à la diagonale principale
Les valeurs des coefficients An, ... , A0 seront entrées au clavier et
(incluse). Limiter le degré à entrer par l'utilisateur à 13.
mémorisées dans un tableau A de type float et de dimension n+1.
● Utilisez la fonction pow() pour le calcul. Construire le triangle ligne par ligne :

PX An X n An Xn AX A 1. Initialiser le premier élément et l'élément de la diagonale à 1.

Exercice 3 Statistique des notes : 2. Calculer les valeurs entre les éléments initialisés de gauche à droite
en utilisant la relation : Pi,j = Pi-1,j + Pi-1,j-1
Ecrire un programme qui lit les M notes de N étudiants d'une classe,
avec N<20, M=9.
1. Calculez les moyennes des étudiants et les mémorise dans un
tableau moy.
2. Affichez les moyennes des étudiants

1/ 2
TP 3 _Partie 2 {POINTEUR, FONCTION}

Exercice 1: Qu’affiche le programme suivant ? Quelles valeurs ou adresses fournissent ces expressions:
Programme
int n=5 ; a) T , p, &T[0]
main()
{ b) *T, T[0], *p
void fct (int p) ; c) *p + 2
int n=3 ; b) *(p+2)
fct(n) ;
} c) &T[4]
void fct(int p) d) &T[4]-3
{ e) p+4
printf("%d %d", n, p) ;
}
f) p+(*p-10)
g) *(p+*(p+8)-T[7])
Exercice 2 : Complétez le tableaux suivant pour chaque instruction du
programme ci-dessus. Exercice 4
Programme Ecrire un programme qui lit un entier X et un tableau A du type int au
void main() clavier et élimine toutes les occurrences de X dans A en tassant les
{
int a = 10; éléments restants. Le programme utilisera les pointeurs P1 et P2 pour
int b = 15; parcourir le tableau.
int c = 20;
int *p1, *p2;
p1=&a; Exercice 5
p2=&c; Ecrire la fonction NCHIFFRES du type int qui obtient une valeur entière
*p1=(*p2)+1;
N (positive ou négative) du type long comme paramètre et qui fournit le
p1=p2;
p2=&b; nombre de chiffres de N comme résultat.
*p1-=*p2; Ecrire un petit programme qui teste la fonction NCHIFFRES.
++*p2;
a=*p2**p1;
p1=&a; Exercice 6
*p2=*p1/=*p2;
} Ecrire un sous-programme qui permet de permuter deux valeurs réelles
saisi au clavier.
Exercice 3 : Soit p un pointeur qui pointe sur un tableau T: Exercice 7
int T[9] = {12, 2, 34, 4, 15, 23, 57, 8, 13};
int *p; Ecrire un programme qui range les éléments d'un tableau A du type int
p = T; dans l'ordre inverse. Le programme utilisera des pointeurs P1 et P2 et
une variable numérique AIDE pour la permutation des éléments.

2/ 2

Vous aimerez peut-être aussi