Vous êtes sur la page 1sur 2

Université Cadi Ayyad Année universitaire : 2021 – 2022

ENSA de Marrakech

Langage C/C++
TD/TP n°1.

Exercice 1:
1) Ecrire un programme qui initialise un tableau d’entiers de dimension N puis calcule la moyenne des
éléments du tableau.
n
2) Ecrire un programme qui initialise deux vecteurs appartenant à R et retourne la norme de ces deux
vecteurs ainsi que leur produit scalaire.

3) Saisir une matrice d’entiers 2x2, calculer et afficher son déterminant.

Exercice 2: des étoiles!!


Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure
suivante pour N=3:

*
** *
*** ** *

Exercice 3:
2
Ecrire un programme qui résout les équations du second degré (ax + bx + c = 0).
Le programme demande : a, b et c à l’utilisateur puis indique le nombre de solutions ainsi que leurs valeurs.

Exercice 4: (sur papier)

Remplissez le tableau ci-dessous en donnant les différentes valeurs des variables pour chacune des lignes du
programme suivant:
int main();
{
(1) int A = 1 ; int B = 2 ; int C = 3; int *p1 = &A; int *p2 = &B;
(2)*p1 =*p2+1;
(3)p1 =p2;
(4) int*p3 = &C;
(5) C = C + 2; A = A + 1;
(6)p1 =p3;}
Exercice 5:
On considère le tableau T de N réels. Ecrire un programme qui affiche le rang dans le tableau d’un réel x
donné, et ce dans les deux cas suivants:
1. on est assuré que le réel x existe dans le tableau,
2. il est possible que cet élément n’existe pas.

Exercice 6: (arithmétique des pointeurs)


Ecrire un programme dans lequel vous déclarerez et initialiserez un tableau d’entiers tab avec des valeurs,
dont certaines seront nulles. Le programme doit parcourir le tableau et imprimer les index des éléments nuls
du tableau (sans utiliser aucune variable de type entier).

Exercice 7: (sur papier)


Qu'est ce qui sera affiché à l'écran lors de l'exécution du programme suivant ?
#include <iostream>
#include <stdlib.h>
int main(void) {
int i=18;
i=i-(--i);
switch(i) {
case 0 : cout<< "Premier ";break;
case 1 : cout<< "Deuxième ";break;
case 2 : cout<< "Troisième ";break;
default: cout<< "Rien ";break;
}
return 0;
}
Exercice 8: (fonctions)

1. Écrire un programme avec une fonction qui retourne la somme de deux nombres réels saisis au clavier.

2. Écrire un programme avec une fonction qui permute le contenu de 2 variables.

Exercice 9: Triangle de Pascal !

Écrire un programme qui affiche à l'écran le triangle de Pascal pour un ordre donné saisie sur la console.
Gérer les erreurs de saisie!!

Exercice 10: Allocation dynamique!!


Créer et initialiser dans la mémoire dynamique un triangle de Pascal de taille variable. Concernant
l'initialisation (le calcul des éléments) inspirez vous de l'exercice précédent.

Prévoyez 4 fonctions, NewTriangle, InitTriangle, ShowTriangle et DelTriangle qui feront respectivement


l'allocation, le calcul, l'affichage et la libération de la mémoire.

Exercice 11: Fonctions récursives !

1. Écrire un programme en C++ qui calcule n ! (factorielle n) grâce à une fonction récursive.

2. La suite de Fibonacci est définie récursivement par la relation Un = U(n−1) +U(n−2). Cette
définition doit être complété par une condition d’arrêt, par exemple : U(1) = U(2) = 1. Écrire une
fonction qui calcule et renvoie le n-ième terme de la suite de Fibonacci (n nombre entier non nul
donné en argument de la fonction).

Vous aimerez peut-être aussi