Elément de module : P.O.
O 1 (C++)
Série des TD : 1 — Les bases -- Correction
Exercice 1 :
Ecrire un programme qui échange deux réels.
#include <iostream>
using namespace std;
int main() {
double n1, n2;
cout << "Entrez le premier nombre réel : ";
cin >> n1;
cout << "Entrez le deuxième nombre réel : ";
cin >> n2;
cout << "Avant l'échange : nombre1 = " << n1 << ", nombre2 = " << n2 << endl;
double temp = n1;
n1 = n2;
n2 = temp;
cout << "Après l'échange : nombre1 = " << n1 << ", nombre2 = " << n2 << endl;
return 0;
}
Exercice 2 :
Ecrire un programme qui détermine si un entier est pair ou impair.
#include <iostream>
using namespace std;
int main() {
int nombre;
cout << "Entrez un entier : ";
cin >> nombre;
PR. [Link]
1
PROGRAMMATION ORIENTÉE OBJET (POO) C++
if (nombre % 2 == 0) {
cout << nombre << " est un nombre pair." << endl;
}
else {
cout << nombre << " est un nombre impair." << endl;
}
return 0;
}
Exercice 3 :
Ecrire un programme qui détermine le plus grand et le plus petit de trois entiers.
#include <iostream>
using namespace std;
int main() {
int n1, n2, n3;
int pp, pg;
cout << "Entrez le premier entier : ";
cin >> n1;
cout << "Entrez le deuxième entier : ";
cin >> n2;
cout << "Entrez le troisième entier : ";
cin >> n3;
if (n1 < n2) {
pp = n1;
pg = n2;
}
else
{
pp = n2;
pg = n1;
}
if (n3 < pp) {
pp = n3;
}
if (n3 > pg) {
pg = n3;
}
cout << "Le plus petit entier est : " << pp << endl;
cout << "Le plus grand entier est : " << pg << endl;
PR. [Link]
2
PROGRAMMATION ORIENTÉE OBJET (POO) C++
return 0;
}
Exercice 4 :
Ecrire un programme qui calcule la somme et la moyenne des entiers de 5 à 10 .
#include <iostream>
using namespace std;
int main() {
double somme{ 0 }, moyenne;
for (int i = 5; i <= 10; i++) {
somme += i;
}
moyenne = somme / 6;
cout << "La somme des entiers est : " << somme
<< " , La moyenne est : " << moyenne << endl;
return 0;
}
Exercice 5 :
Écrire un programme qui initialise un tableau de 5 valeurs. Le programme doit afficher le nombre
d'entiers supérieurs ou égaux à 10.
#include <iostream>
using namespace std;
int main() {
int tableau[5];
int cpt = 0;
cout << "Veuillez saisir les valeurs du tableau:" << endl;
for (int i = 0; i < 5; i++) {
cin >> tableau[i];
}
for (int i = 0; i < 5; i++) {
if (tableau[i] >= 10) {
PR. [Link]
3
PROGRAMMATION ORIENTÉE OBJET (POO) C++
cpt++;
}
}
cout << "Le nombre d'entiers supérieurs ou égaux à 10 dans le tableau est : " << cpt << endl;
return 0;
}
Exercice 6 :
Écrire un programme qui initialise un tableau de 5 valeurs et une variable V. Le programme doit
rechercher si V se trouve dans le tableau et afficher « V se trouve dans le tableau » ou « V ne se
trouve pas dans le tableau ».
#include <iostream>
using namespace std;
int main() {
int tableau[5];
int V;
bool trouve = false;
cout << "Veuillez saisir les valeurs du tableau:" << endl;
for (int i = 0; i < 5; i++) {
cin >> tableau[i];
}
cout << "Entrez la valeur à chercher : ";
cin >> V;
for (int i = 0; i < 5; i++) {
if (tableau[i] == V) {
trouve = true;
break; // Sortir de la boucle dès que V est trouvé
}
}
if (trouve) {
cout << V << " se trouve dans le tableau." << endl;
}
else {
cout << V << " ne se trouve pas dans le tableau." << endl;
}
return 0;
PR. [Link]
4
PROGRAMMATION ORIENTÉE OBJET (POO) C++
}
Exercice 7 :
Écrire un programme qui initialise un tableau T. Le programme doit ensuite afficher l'indice du
plus grand élément et du petit élément.
#include <iostream>
using namespace std;
int main() {
int T[5] = { 12, 5, 180, 7, -19 };
int indicePP = 0;
int indicePG = 0;
for (int i = 1; i < 5; i++) {
if (T[i] < T[indicePP]) {
indicePP = i;
}
if (T[i] > T[indicePG]) {
indicePG = i;
}
}
cout << "L'indice du plus petit élément est : " << indicePP << endl;
cout << "L'indice du plus grand élément est : " << indicePG << endl;
return 0;
}
Exercice 8 :
Ecrire un programme qui permet de remplir une matrice (3x4) de réels et d’afficher le maximum
de chaque ligne de cette matrice.
#include <iostream>
using namespace std;
int main() {
double matrice[3][4];
// Remplissage de la matrice
cout << "Entrez les éléments de la matrice (3x4) :\n";
for (int i = 0; i < 3; i++) {
PR. [Link]
5
PROGRAMMATION ORIENTÉE OBJET (POO) C++
for (int j = 0; j < 4; j++) {
cout << "Element [" << i << "][" << j << "] : ";
cin >> matrice[i][j];
}
}
// Recherche du max dans chaque ligne
for (int i = 0; i < 3; i++) {
double max = matrice[i][0];
for (int j = 1; j < 4; j++) {
if (matrice[i][j] > max) {
max = matrice[i][j];
}
}
cout << "Le max de la ligne " << i + 1 << " est : " << max << endl;
}
return 0;
}
Exercice 9 :
A l’aide des pointeurs, écrivez un programme qui demande à l’utilisateur de remplir un tableau de
six éléments, puis le programme calcule et affiche la somme de ces éléments.
#include <iostream>
using namespace std;
int main() {
int tableau[6];
int somme = 0;
int* pt = tableau; //int * pt= &tableau[0];
// Remplissage du tableau à l'aide de pts
for (int i = 0; i < 6; i++) {
cout << "Entrez l'élément " << i << " : ";
cin >> *pt;
somme += *pt;
}
// Affichage de la somme
cout << "La somme des éléments du tableau est : " << somme << endl;
return 0;
}
PR. [Link]
6
PROGRAMMATION ORIENTÉE OBJET (POO) C++
Exercice 10 :
A l’aide des pointeurs, écrivez un programme qui demande à l’utilisateur de saisir 5 éléments qu’on
stocke dans un tableau T. Ensuite, le programme détermine et affiche le minimum des éléments du
tableau T.
#include <iostream>
using namespace std;
int main() {
int T[5];
int* ptr = T;
int minm;
for (int i = 0; i < 5; i++) {
cout << "Entrez l'élément " << i << " : ";
cin >> *ptr;
ptr++;
}
minm = T[0];
ptr = T; // Réinitialisation du pointeur
for (int i = 1; i < 5; i++) {
if (*ptr < minm) {
minm = *ptr;
}
ptr++;
}
// Affichage du minm
cout << "Le minm des éléments du tableau est : " << minm << endl;
return 0;
}
PR. [Link]
7
PROGRAMMATION ORIENTÉE OBJET (POO) C++