La solution de la Partie 2 (Tableaux)
Ex1
/*
Constante MAX_SIZE ← 50
Variables N, i, somme_carres : Entier
tableau T[MAX_SIZE]:Entier
Début
Écrire "Entrez le nombre d'éléments du tableau : "
Lire N
// Saisie des éléments du tableau
Pour i de 0 à N - 1 faire
Écrire ("Entrez l'élément ", i + 1, " : ");
Lire (T[i]);
FinPour
// Affichage des éléments du tableau
Écrire ("Le tableau saisi est :");
Pour i de 0 à N - 1 faire
Écrire (T[i]);
FinPour
// Calcul de la somme des carrés
somme_carres ← 0
Pour i de 0 à N - 1 faire
somme_carres ← somme_carres + T[i] * T[i]
FinPour
Écrire ("La somme des carrés des éléments du tableau est : ", somme_carres);
Fin
*/
#include <stdio.h>
#define MAX_SIZE 50 // Taille maximale du tableau
int main() {
int N, i, somme_carres;
int T[MAX_SIZE]; // Déclaration du tableau
// Demander à l'utilisateur le nombre d'éléments à saisir
printf("Entrez le nombre d'elements du tableau : ");
scanf("%d", &N);
// Saisie des éléments du tableau
for (i = 0; i < N; i++) {
printf("Entrez l'element %d : ", i + 1);
scanf("%d", &T[i]);
}
// Affichage des éléments du tableau
printf("Le tableau saisi est :\n");
for (i = 0; i < N; i++) {
printf("%d ", T[i]);
}
printf("\n");
// Calcul de la somme des carrés des éléments
somme_carres = 0;
for (i = 0; i < N; i++) {
somme_carres += T[i] * T[i];
}
// Affichage du résultat final
printf("La somme des carres des elements du tableau est : %d\n", somme_carres);
return 0;
}
EX2
/*
Algorithme EchangeExtremitesTableau
Constante MAX_SIZE ← 50 // Taille max du tableau
Variables N, i, temp : Entier
Tableau T[MAX_SIZE] : Entier
Début
// Lire le nombre d’éléments
Écrire("Entrez le nombre d'éléments du tableau :");
Lire(N);
// Lire les éléments du tableau
Pour i de 0 à N - 1 faire
Écrire("Entrez l’élément ", i + 1);
Lire(T[i]);
Fin Pour
// Afficher tableau avant échange
Écrire("Le tableau avant l’échange :");
Pour i de 0 à N - 1 faire
Écrire(T[i]);
Fin Pour
// Échanger premier et dernier élément
temp ← T[0]
T[0] ← T[N - 1]
T[N - 1] ← temp
// Afficher tableau après échange
Écrire("Le tableau après l’échange :");
Pour i de 0 à N - 1 faire
Écrire(T[i]);
Fin Pour
Fin
*/
// En C
#include <stdio.h>
#define MAX_SIZE 50
void main() {
int N, i, temp;
int T[MAX_SIZE];
// Saisie du nombre d'éléments
printf("Entrez le nombre d'elements du tableau (max %d) : ", MAX_SIZE);
scanf("%d", &N);
// Saisie des éléments du tableau
for (i = 0; i < N; i++) {
printf("Entrez l'element %d : ", i + 1);
scanf("%d", &T[i]);
}
// Affichage avant échange
printf("Le tableau avant l'echange est :\n");
for (i = 0; i < N; i++) {
printf("%d ", T[i]);
}
printf("\n");
// Échange du premier et du dernier élément
temp = T[0];
T[0] = T[N - 1];
T[N - 1] = temp;
// Affichage après échange
printf("Le tableau après l'echange est :\n");
for (i = 0; i < N; i++) {
printf("%d ", T[i]);
}
printf("\n");
}
EX3
/*
Algorithme InverserTableauCaractères
Constante MAX_SIZE ← 50 // Taille maximale du tableau
Variables N, i : entier
Tableau T[MAX_SIZE]: caractere
Début
// Demander à l'utilisateur de saisir le nombre d'éléments du tableau
Écrire("Entrez le nombre d'éléments du tableau :");
Lire(N);
// Saisie des éléments du tableau
Pour i de 0 à N - 1 faire
Écrire("Entrez l'élément ", i + 1, " :");
Lire(T[i]);
Fin Pour
// Afficher le tableau dans l'ordre inverse
Écrire("Le tableau dans l'ordre inverse est :");
Pour i de N - 1 à 0 par pas=-1 faire
Écrire(T[i]);
Fin Pour
Fin
*/
//En C
#include <stdio.h>
#define MAX_SIZE 50
void main() {
int N, i;
char T[MAX_SIZE];
// Demander à l'utilisateur de saisir le nombre d'éléments du tableau
printf("Entrez le nombre d'éléments du tableau : ");
scanf("%d", &N);
// Saisie des éléments du tableau
for (i = 0; i < N; i++) {
printf("Entrez l'élément %d : ", i + 1);
scanf(" %c", &T[i]);
}
// Afficher le tableau dans l'ordre inverse
printf("Le tableau dans l'ordre inverse est :\n");
for (i = N - 1; i >= 0; i--) {
printf("%c ", T[i]);
}
printf("\n");
}
EX4
/*
Algorithme ProduitElementsTableau
Variables L, C, i, j : Entier // Lignes, colonnes et indices de boucle
produit : Entier // Contiendra le produit final
Tableau T[50][50] :Entier // Tableau à deux dimensions
Début
// Saisir les dimensions du tableau
Écrire("Entrez le nombre de lignes du tableau :") ;
Lire(L) ;
Écrire("Entrez le nombre de colonnes du tableau :") ;
Lire(C) ;
// Remplir le tableau avec les valeurs de l'utilisateur
Pour i allant de 0 à L - 1 faire
Pour j allant de 0 à C - 1 faire
Écrire("Entrez la valeur de T[", i + 1, "][", j + 1, "] :") ;
Lire(T[i][j]) ;
Fin Pour
Fin Pour
// Afficher le tableau
Écrire("Le tableau est :") ;
Pour i allant de 0 à L - 1 faire
Pour j allant de 0 à C - 1 faire
Écrire(T[i][j]) ;
Fin Pour
Fin Pour
// Initialiser le produit
produit ← 1 ;
// Calculer le produit de tous les éléments
Pour i allant de 0 à L - 1 faire
Pour j allant de 0 à C - 1 faire
produit ← produit * T[i][j] ;
Fin Pour
Fin Pour
// Afficher le produit total
Écrire("Le produit de tous les éléments du tableau est : ", produit) ;
Fin
*/
#include <stdio.h>
#define MAX_ROWS 50 // Nombre maximal de lignes
#define MAX_COLS 50 // Nombre maximal de colonnes
void main() {
int L, C, produit = 1, i, j; // Variables pour lignes, colonnes, produit et boucles
int T[MAX_ROWS][MAX_COLS]; // Déclaration du tableau 2D
// Saisie des dimensions
printf("Entrez le nombre de lignes du tableau : ");
scanf("%d", &L);
printf("Entrez le nombre de colonnes du tableau : ");
scanf("%d", &C);
// Saisie des éléments du tableau
for (i = 0; i < L; i++) {
for (j = 0; j < C; j++) {
printf("Entrez la valeur de T[%d][%d] : ", i + 1, j + 1);
scanf("%d", &T[i][j]);
}
}
// Affichage du tableau
printf("Le tableau est :\n");
for (i = 0; i < L; i++) {
for (j = 0; j < C; j++) {
printf("%d ", T[i][j]);
}
printf("\n");
}
// Calcul du produit de tous les éléments
for (i = 0; i < L; i++) {
for (j = 0; j < C; j++) {
produit *= T[i][j];
}
}
// Affichage du résultat
printf("Le produit de tous les elements du tableau est : %d\n", produit);
}
EX5
/*
Algorithme ProduitScalaireVecteurs
Constante :
MAX_TAILLE ← 50 // Taille maximale des vecteurs
Variables Tableau U[MAX_TAILLE], V[MAX_TAILLE] : Entier
dimension, produit_scalaire, i : Entier
Début
// Saisie de la dimension des vecteurs
Écrire("Entrez la dimension des vecteurs U et V :") ;
Lire(dimension) ;
// Saisie des éléments du vecteur U
Écrire("Entrez les éléments du vecteur U :") ;
Pour i allant de 0 à dimension - 1 faire
Écrire("Élément ", i + 1, " :") ;
Lire(U[i]) ;
Fin Pour
// Saisie des éléments du vecteur V
Écrire("Entrez les éléments du vecteur V :") ;
Pour i allant de 0 à dimension - 1 faire
Écrire("Élément ", i + 1, " :") ;
Lire(V[i]) ;
Fin Pour
// Calcul du produit scalaire
produit_scalaire ← 0 ;
Pour i allant de 0 à dimension - 1 faire
produit_scalaire ← produit_scalaire + (U[i] * V[i]) ;
Fin Pour
// Affichage du résultat
Écrire("Le produit scalaire des vecteurs U et V est : ", produit_scalaire) ;
Fin
*/
//En C
#include <stdio.h>
#define MAX_TAILLE 50 // Taille maximale des vecteurs
void main() {
int U[MAX_TAILLE], V[MAX_TAILLE]; // Les deux vecteurs
int dimension, produit_scalaire, i; // Taille et résultat
// Saisie de la dimension des vecteurs
printf("Entrez la dimension des vecteurs U et V : ");
scanf("%d", &dimension);
// Saisie des éléments du vecteur U
printf("Entrez les éléments du vecteur U :\n");
for (i = 0; i < dimension; i++) {
printf("Élément %d : ", i + 1);
scanf("%d", &U[i]);
}
// Saisie des éléments du vecteur V
printf("Entrez les éléments du vecteur V :\n");
for (i = 0; i < dimension; i++) {
printf("Élément %d : ", i + 1);
scanf("%d", &V[i]);
}
// Calcul du produit scalaire
produit_scalaire = 0;
for (i = 0; i < dimension; i++) {
produit_scalaire += U[i] * V[i];
}
// Affichage du résultat
printf("Le produit scalaire des vecteurs U et V est : %d\n", produit_scalaire);
}
EX6
/*
Algorithme CompterPositifsNegatifs
Variables tableau T[50]:Entier // Déclaration du tableau
N, nb_positives, nb_negatives, i : Entier // Taille et compteurs
Début
// Saisie de la taille du tableau
Écrire("Entrez la dimension N du tableau : ") ;
Lire(N) ;
// Saisie des éléments du tableau
Pour i allant de 0 à N - 1 faire
Écrire("Entrez la valeur de la composante ", i + 1, " : ") ;
Lire(T[i]) ;
Fin Pour
// Comptage des positives et négatives
nb_positives ← 0 ;
nb_negatives ← 0 ;
Pour i allant de 0 à N - 1 faire
Si T[i] > 0 Alors
nb_positives ← nb_positives + 1 ;
Sinon Si T[i] < 0 Alors
nb_negatives ← nb_negatives + 1 ;
Fin Si
Fin Pour
// Affichage du tableau
Écrire("Le tableau est :") ;
Pour i allant de 0 à N - 1 faire
Écrire(T[i]) ;
Fin Pour
// Affichage des résultats
Écrire("Nombre de composantes strictement positives : ", nb_positives) ;
Écrire("Nombre de composantes strictement négatives : ", nb_negatives) ;
Fin
*/
// EN C
#include <stdio.h>
#define MAX_TAILLE 50 // Taille maximale du tableau
void main() {
int T[MAX_TAILLE]; // Déclaration du tableau
int N, nb_positives = 0, nb_negatives = 0; // Taille et compteurs
int i;
// Saisie de la taille du tableau
printf("Entrez la dimension N du tableau : ");
scanf("%d", &N);
// Saisie des éléments du tableau
for (i = 0; i < N; i++) {
printf("Entrez la valeur de la composante %d : ", i + 1);
scanf("%d", &T[i]);
}
// Comptage des positives et négatives
for (i = 0; i < N; i++) {
if (T[i] > 0) {
nb_positives++;
}
else if (T[i] < 0) {
nb_negatives++;
}
}
// Affichage du tableau
printf("Le tableau est :\n");
for (i = 0; i < N; i++) {
printf("%d ", T[i]);
}
printf("\n");
// Affichage des résultats
printf("Nombre de composantes strictement positives : %d\n", nb_positives);
printf("Nombre de composantes strictement négatives : %d\n", nb_negatives);
}