Voici une série d’exercices corrigés sur les tableaux en langage C, allant des bases aux concepts plus avancés. Ces exercices vous aideront à mieux comprendre la manipulation des tableaux et les opérations associées.
Écrivez un programme en C qui remplit un tableau de 5 entiers donnés par l’utilisateur et affiche ensuite les éléments du tableau.
#include <stdio.h>
int main() {
int tableau[5];
// Saisie des éléments du tableau
for(int i = 0; i < 5; i++) {
printf("Entrez l'élément %d : ", i + 1);
scanf("%d", &tableau[i]);
}
// Affichage des éléments du tableau
printf("Les éléments du tableau sont :\n");
for(int i = 0; i < 5; i++) {
printf("%d ", tableau[i]);
}
printf("\n");
return 0;
}
tableau[5]
est utilisé pour stocker 5 entiers.for
remplit le tableau avec les entrées de l’utilisateur.for
affiche les éléments du tableau.Écrivez un programme en C qui demande à l’utilisateur de remplir un tableau de 10 entiers, puis trouve et affiche la valeur maximale dans ce tableau.
#include <stdio.h>
int main() {
int tableau[10];
int max;
// Saisie des éléments du tableau
for (int i = 0; i < 10; i++) {
printf("Entrez l'élément %d : ", i + 1);
scanf("%d", &tableau[i]);
}
// Initialisation de la variable max avec le premier élément du tableau
max = tableau[0];
// Recherche du maximum
for (int i = 1; i < 10; i++) {
if (tableau[i] > max) {
max = tableau[i];
}
}
// Affichage du maximum
printf("La valeur maximale est : %d\n", max);
return 0;
}
max
avec le premier élément du tableau.Écrivez un programme en C qui lit 5 nombres flottants, les stocke dans un tableau, et affiche ensuite la moyenne de ces nombres.
#include <stdio.h>
int main() {
float tableau[5], somme = 0.0, moyenne;
// Saisie des éléments du tableau
for(int i = 0; i < 5; i++) {
printf("Entrez l'élément %d : ", i + 1);
scanf("%f", &tableau[i]);
somme += tableau[i]; // Ajouter chaque élément à la somme
}
// Calcul de la moyenne
moyenne = somme / 5;
// Affichage de la moyenne
printf("La moyenne des éléments est : %.2f\n", moyenne);
return 0;
}
tableau[5]
contient des nombres flottants.Écrivez un programme en C qui lit 6 entiers, les stocke dans un tableau, puis affiche les éléments dans l’ordre inverse.
#include <stdio.h>
int main() {
int tableau[6];
// Saisie des éléments du tableau
for(int i = 0; i < 6; i++) {
printf("Entrez l'élément %d : ", i + 1);
scanf("%d", &tableau[i]);
}
// Affichage des éléments dans l'ordre inverse
printf("Les éléments du tableau dans l'ordre inverse sont :\n");
for(int i = 5; i >= 0; i--) {
printf("%d ", tableau[i]);
}
printf("\n");
return 0;
}
for
inverse les éléments en commençant par le dernier et en affichant chaque élément.Écrivez un programme en C qui lit 5 entiers, les stocke dans un tableau, puis les trie dans l’ordre croissant en utilisant l’algorithme du tri par sélection.
#include <stdio.h>
int main() {
int tableau[5], i, j, min, temp;
// Saisie des éléments du tableau
for(i = 0; i < 5; i++) {
printf("Entrez l'élément %d : ", i + 1);
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
temp = tableau[min];
tableau[min] = tableau[i];
tableau[i] = temp;
}
// Affichage du tableau trié
printf("Le tableau trié est :\n");
for(i = 0; i < 5; i++) {
printf("%d ", tableau[i]);
}
printf("\n");
return 0;
}
Écrivez un programme en C qui lit deux tableaux de 5 entiers chacun, puis les fusionne dans un troisième tableau.
#include <stdio.h>
int main() {
int tableau1[5], tableau2[5], tableau_fusion[10];
// Saisie des éléments du premier tableau
printf("Entrez les éléments du premier tableau :\n");
for(int i = 0; i < 5; i++) {
scanf("%d", &tableau1[i]);
}
// Saisie des éléments du deuxième tableau
printf("Entrez les éléments du deuxième tableau :\n");
for(int i = 0; i < 5; i++) {
scanf("%d", &tableau2[i]);
}
// Fusion des deux tableaux
for(int i = 0; i < 5; i++) {
tableau_fusion[i] = tableau1[i];
tableau_fusion[i + 5] = tableau2[i];
}
// Affichage du tableau fusionné
printf("Le tableau fusionné est :\n");
for(int i = 0; i < 10; i++) {
printf("%d ", tableau_fusion[i]);
}
printf("\n");
return 0;
}
Ces exercices tableaux en langage C vous permettent de pratiquer les bases et des concepts légèrement plus avancés liés aux tableaux en C. Vous pouvez essayer d’autres variantes, comme implémenter des algorithmes de tri plus complexes ou travailler sur des tableaux dynamiques.
Les tableaux en C sont des structures de données qui permettent de stocker plusieurs éléments du même type dans un bloc de mémoire contigu. Ils sont particulièrement utiles lorsque vous devez manipuler une collection d’éléments, comme des nombres ou des chaînes de caractères.
Pour déclarer un tableau, il suffit de spécifier le type des éléments, le nom du tableau, et le nombre d’éléments à stocker dans ce tableau.
Syntaxe :
type nom_du_tableau[taille];
int tableau_entiers[10]; // Tableau de 10 entiers
float tableau_flottants[5]; // Tableau de 5 nombres flottants
char tableau_caracteres[20]; // Tableau de 20 caractères
0
, le deuxième à l’indice 1
, et ainsi de suite.Un tableau peut être initialisé au moment de sa déclaration en spécifiant les valeurs à l’intérieur d’accolades {}
.
int tableau[5] = {1, 2, 3, 4, 5}; // Tableau initialisé avec 5 valeurs
Si vous ne spécifiez pas le nombre d’éléments, le compilateur allouera automatiquement l’espace nécessaire pour toutes les valeurs spécifiées.
int tableau[] = {1, 2, 3, 4, 5}; // Taille déduite automatiquement
L’accès aux éléments d’un tableau se fait en utilisant son indice.
int tableau[5] = {10, 20, 30, 40, 50};
printf("%d\n", tableau[0]); // Affiche 10
printf("%d\n", tableau[4]); // Affiche 50
tableau[2] = 100; // Change la valeur à l'indice 2 en 100
Pour parcourir un tableau, on utilise généralement une boucle for
ou while
.
for
:int tableau[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
printf("%d ", tableau[i]); // Affiche les éléments du tableau
}
En C, vous pouvez déclarer des tableaux à plusieurs dimensions (comme les matrices). Un tableau à 2 dimensions est similaire à une matrice, où les éléments sont organisés en lignes et en colonnes.
Déclaration :
type nom_du_tableau[taille1][taille2];
int matrice[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
printf("%d\n", matrice[0][1]); // Affiche 2
Un tableau de caractères (ou chaîne de caractères) est un tableau d’éléments de type char
.
Exemple :
char nom[10] = "Alice"; // Chaîne de caractères
Dans ce cas, le tableau contient les caractères 'A'
, 'l'
, 'i'
, 'c'
, 'e'
suivis d’un caractère nul (\0
), qui marque la fin de la chaîne.
Vous pouvez créer un tableau de chaînes de caractères pour stocker plusieurs mots ou phrases.
char noms[3][10] = {"Alice", "Bob", "Charlie"};
En C, lorsqu’un tableau est passé à une fonction, c’est l’adresse de son premier élément qui est transmise (par référence).
void afficher_tableau(int tableau[], int taille) {
for (int i = 0; i < taille; i++) {
printf("%d ", tableau[i]);
}
printf("\n");
}
int main() {
int tableau[5] = {1, 2, 3, 4, 5};
afficher_tableau(tableau, 5); // Passe le tableau à la fonction
return 0;
}
Les tableaux en C occupent de la mémoire contiguë, c’est-à-dire que les éléments sont stockés les uns à la suite des autres.
Taille d’un tableau :
Vous pouvez utiliser l’opérateur sizeof
pour obtenir la taille en octets d’un tableau, ou la taille d’un élément.
int tableau[5];
printf("Taille du tableau : %lu octets\n", sizeof(tableau)); // Taille totale en octets
printf("Taille d'un élément : %lu octets\n", sizeof(tableau[0])); // Taille d'un élément
Pour obtenir le nombre d’éléments :
int taille = sizeof(tableau) / sizeof(tableau[0]);
tableau[5]
alors que le tableau a été déclaré avec 5 éléments (tableau[0]
à tableau[4]
).Commande | Description |
---|---|
type nom[taille]; | Déclare un tableau de taille fixe. |
nom[indice] = valeur; | Modifie la valeur d’un élément du tableau. |
int nom[][] = {{...},{...}} | Déclare un tableau multidimensionnel. |
sizeof(tableau) | Renvoie la taille totale en octets d’un tableau. |
nom[indice] | Accède à l’élément à l’indice spécifié dans le tableau. |
En résumé, les tableaux en C sont un moyen efficace de manipuler des collections d’éléments du même type, que ce soit en 1D (tableau simple) ou en 2D (tableau multidimensionnel). Leur gestion requiert de la prudence en ce qui concerne la gestion des indices et la mémoire allouée.
Les écarts sur charges fixes permettent d'analyser les différences entre les charges fixes budgétées et…
L’écart-type est une mesure de la dispersion des données autour de la moyenne. Excel propose…
Exercice 1 : Calcul des Écarts sur Volume et Prix Contexte :Une entreprise a prévu…
1. Généralités sur le Contrôle Budgétaire Question 1 : Quel est l’objectif principal du contrôle…
Voici un QCM Contrôle de Gestion - Pilotage de la Performance bien conçu sur le…
Une fiche d’action est un outil essentiel pour planifier, suivre et gérer les tâches dans…
This website uses cookies.