0% ont trouvé ce document utile (0 vote)
38 vues9 pages

Correction TD4

Transféré par

Houssem Radhouane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues9 pages

Correction TD4

Transféré par

Houssem Radhouane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Correction TD Programmation Structurée 1- L1 GE

Correction Travail Dirigé N° 4


Exercice 1 : Recherche d'un élément dans un tableau

Énoncé : Écrire un programme en C qui permet de rechercher un élément dans un


tableau unidimensionnel de 10 entiers.

Solution :

#include <stdio.h>

int main() {

int tableau[10], element, trouve = 0;

// Remplissage du tableau

printf("Entrez 10 entiers :\n");

for (int i = 0; i < 10; i++) {

scanf("%d", &tableau[i]);

// Saisie de l'élément à rechercher

printf("Entrez l'élément à rechercher : ");

scanf("%d", &element);

// Recherche de l'élément

for (int i = 0; i < 10; i++) {

if (tableau[i] == element) {

printf("L'élément %d a été trouvé à l'indice %d.\n", element, i);

Mme. Imen AZZOUZ 1


Correction TD Programmation Structurée 1- L1 GE

trouve = 1;

break;

// Si l'élément n'est pas trouvé

if (!trouve) {

printf("L'élément %d n'a pas été trouvé dans le tableau.\n", element);

return 0;

Exercice 2 : Somme des éléments d'une matrice

Énoncé : Écrire un programme en C qui permet de remplir une matrice 2x2, puis d'afficher la
somme de tous les éléments de cette matrice.

Solution :

#include <stdio.h>

int main() {

int matrice[2][2], somme = 0;

// Remplissage de la matrice

printf("Entrez les éléments de la matrice 2x2 :\n");

for (int i = 0; i < 2; i++) {

Mme. Imen AZZOUZ 2


Correction TD Programmation Structurée 1- L1 GE

for (int j = 0; j < 2; j++) {

printf("M[%d][%d] : ", i, j);

scanf("%d", &matrice[i][j]);

somme += matrice[i][j]; // Ajout de l'élément à la somme

// Affichage de la somme des éléments

printf("La somme des éléments de la matrice est : %d\n", somme);

return 0;

Exercice 3 : Inversion d'un tableau

Énoncé : Écrire un programme en C qui permet d'inverser les éléments d'un tableau
unidimensionnel de 5 entiers.

Solution :

#include <stdio.h>

int main() {

int tableau[5], temp;

// Remplissage du tableau

printf("Entrez 5 entiers :\n");

for (int i = 0; i < 5; i++) {

Mme. Imen AZZOUZ 3


Correction TD Programmation Structurée 1- L1 GE

scanf("%d", &tableau[i]);

// Inversion du tableau

for (int i = 0; i < 5 / 2; i++) {

temp = tableau[i];

tableau[i] = tableau[5 - 1 - i];

tableau[5 - 1 - i] = temp;

// Affichage du tableau inversé

printf("Le tableau inversé est : ");

for (int i = 0; i < 5; i++) {

printf("%d ", tableau[i]);

printf("\n");

return 0;

Exercice 4 : Maximum d'un tableau

Énoncé : Écrire un programme en C qui trouve et affiche le plus grand élément dans un
tableau.

Mme. Imen AZZOUZ 4


Correction TD Programmation Structurée 1- L1 GE

Solution :

#include <stdio.h>

int main() {

int tableau[5], max, i;

// Remplissage du tableau

printf("Entrez 5 entiers : \n");

for (i = 0; i < 5; i++) {

scanf("%d", &tableau[i]);

// Initialisation du maximum au premier élément du tableau

max = tableau[0];

// Recherche du maximum

for (i = 1; i < 5; i++) {

if (tableau[i] > max) {

max = tableau[i];

printf("Le maximum du tableau est : %d\n", max);

return 0;}

Mme. Imen AZZOUZ 5


Correction TD Programmation Structurée 1- L1 GE

Exercice 5 : Tri d'un tableau (Tri par sélection)

Énoncé : Écrire un programme en C qui trie les éléments d'un tableau d'entiers dans l'ordre
croissant.

Correction :

#include <stdio.h>

int main() {

int tableau[5], i, j, min, temp;

// Remplissage du tableau

printf("Entrez 5 entiers : \n");

for (i = 0; i < 5; i++) {

scanf("%d", &tableau[i]);

// Tri par sélection

for (i = 0; i < 4; i++) {

min = i;

for (j = i + 1; j < 5; j++) {

if (tableau[j] < tableau[min]) {

min = j;

// Échange des éléments

if (min != i) {

temp = tableau[i];

tableau[i] = tableau[min];

Mme. Imen AZZOUZ 6


Correction TD Programmation Structurée 1- L1 GE

tableau[min] = temp;

// Affichage du tableau trié

printf("Tableau trié : ");

for (i = 0; i < 5; i++) {

printf("%d ", tableau[i]);

printf("\n");

return 0;

Exercice 6 : Comptage des éléments pairs et impairs d'un tableau

Énoncé : Écrire un programme en C qui compte le nombre d'éléments pairs et impairs dans
un tableau d'entiers.

Correction :

#include <stdio.h>

int main() {

int tableau[5], i, pairs = 0, impairs = 0;

// Remplissage du tableau

printf("Entrez 5 entiers : \n");

for (i = 0; i < 5; i++) {

scanf("%d", &tableau[i]);

Mme. Imen AZZOUZ 7


Correction TD Programmation Structurée 1- L1 GE

// Comptage des éléments pairs et impairs

for (i = 0; i < 5; i++) {

if (tableau[i] % 2 == 0) {

pairs++;

} else {

impairs++;

printf("Nombre de nombres pairs : %d\n", pairs);

printf("Nombre de nombres impairs : %d\n", impairs);

return 0;

Exercice 7 : Somme des diagonales d'une matrice

Énoncé : Écrire un programme en C qui calcule la somme des éléments de la diagonale


principale et de la diagonale secondaire d'une matrice carrée de taille 3x3.

Correction :

#include <stdio.h>

int main() {

int matrice[3][3], i, sommeDiagPrincipale = 0, sommeDiagSecondaire = 0;

Mme. Imen AZZOUZ 8


Correction TD Programmation Structurée 1- L1 GE

// Remplissage de la matrice

printf("Entrez les éléments de la matrice 3x3 : \n");

for (i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

scanf("%d", &matrice[i][j]);

// Calcul des sommes des diagonales

for (i = 0; i < 3; i++) {

sommeDiagPrincipale += matrice[i][i];

sommeDiagSecondaire += matrice[i][2 - i];

printf("Somme de la diagonale principale : %d\n", sommeDiagPrincipale);

printf("Somme de la diagonale secondaire : %d\n", sommeDiagSecondaire);

return 0;

Mme. Imen AZZOUZ 9

Vous aimerez peut-être aussi