Test1
Ecrire un programme C qui permet de :
1) remplir un tableau d’entier de taille n < 100 avec des valeurs comprises
entre
10 et 30
2) Calculer et afficher la moyenne des cases impairs
3) Chercher et afficher l’indice d’un entier saisi au clavier . Si on ne trouve
pas
l’entier on doit afficher un message.
4) Ajouter un entier saisi au clavier dans une position donnée(la position saisi
doit être inférieur à la taille du tableau).
5) Inverser le tableau sans utiliser un tableau intermédiaire
Correction
#include <stdio.h>
int main() {
int tableau[100];
int taille, i, sommeImpairs = 0, nbImpairs = 0, valeur, position, indice,
temp;
do{
printf("Entrez la taille du tableau (n < 100) : ");
scanf("%d", &taille);
}while(taille>200 || taillle<0)
// Remplissage du tableau avec des valeurs entre 10 et 30
for (i = 0; i < taille; i++) {
do{
printf(“tapez l’element %de du tableau”,i+1);
scanf(“%d”,&tableau[i]);
}while(tableau[i]<10 || tableau[i]>30);
}
// Calcul de la moyenne des cases impairs
for (i = 0; i < taille; i++) {
if (tableau[i] % 2 != 0) {
sommeImpairs += tableau[i];
nbImpairs++;
}
}
if (nbImpairs == 0) {
printf("Il n'y a pas de valeurs impairs dans le tableau.\n");
} else {
printf("La moyenne des cases impairs est : %f\n", (float)sommeImpairs /
nbImpairs);
}
// Recherche de l'indice d'un entier
printf("Entrez l'entier que vous cherchez : ");
scanf("%d", &valeur);
i=0
while(i<n &&tableau[i]!=valeur){
i++;
}ˇ
if (indice i<n) {
printf("L'entier %d est à l'indice %d.\n", valeur, i);
} else {
printf("L'entier %d n'a pas été trouvé dans le tableau.\n", valeur);
}
// Ajout d'un entier dans une position donnée
printf("Entrez l'entier à ajouter : ");
scanf("%d", &valeur);
printf("Entrez la position où vous voulez ajouter l'entier : ");
scanf("%d", &position);
if (position < 0 || position > taille) {
printf("Position invalide.\n");
} else {
for (i = taille; i > position; i--) {
tableau[i] = tableau[i - 1];
}
tableau[position] = valeur;
taille++;
}
// Inversion du tableau
for (i = 0; i < taille / 2; i++) {
temp = tableau[i];
tableau[i] = tableau[taille - i - 1];
tableau[taille - i - 1] = temp;
}
printf("Le tableau a été inversé avec succès.\n");
return 0;
}
test2
Ecrire un programme C qui permet de :
1) Remplir un tableau d’entier de taille n < 100 avec des valeurs impaires
2) chercher et afficher le minimum et le maximum du tableau
3) Chercher et afficher le nombre d’occurrences d’un entier saisi au clavier.
4) Supprimer la première occurrence d’un entier donné par l’utilisateur
5) Inverser le tableau en utilisant un deuxième tableau
Correction
#include <stdio.h>
int main() {
int tableau[100], taille, i, min, max, valeur, occurrences, indice, temp;
// 1) Remplir un tableau d'entiers de taille n < 100 avec des valeurs
impaires
do{
printf("Entrez la taille du tableau (n < 100) : ");
scanf("%d", &taille);
}while(taille<0 || taille>200);
printf("Entrez les valeurs impaires pour remplir le tableau : \n");
for (i = 0; i < taille; i++) {
do {
printf("Valeur %d : ", i+1);
scanf("%d", &tableau[i]);
} while (tableau[i] % 2 == 0);
}
// 2) Chercher et afficher le minimum et le maximum du tableau
min = max = tableau[0];
for (i = 1; i < taille; i++) {
if (tableau[i] < min) {
min = tableau[i];
}
if (tableau[i] > max) {
max = tableau[i];
}
}
printf("Le minimum du tableau est : %d\n", min);
printf("Le maximum du tableau est : %d\n", max);
// 3) Chercher et afficher le nombre d'occurrences d'un entier saisi au
clavier
printf("Entrez l'entier dont vous voulez chercher le nombre d'occurrences :
");
scanf("%d", &valeur);
occurrences = 0;
for (i = 0; i < taille; i++) {
if (tableau[i] == valeur) {
occurrences++;
}
}
printf("Le nombre d'occurrences de %d dans le tableau est : %d\n", valeur,
occurrences);
// 4) Supprimer la première occurrence d'un entier donné par l'utilisateur
printf("Entrez l'entier que vous voulez supprimer : ");
scanf("%d", &valeur);
i=0;
while(i<n && tablleau[i]!=val)
{
i++;
}
if (i<n) {
for (j= i; j < taille - 1; j++) {
tableau[j] = tableau[j+ 1];
}
taille--;
printf("Première occurrence de %d supprimée avec succès.\n", valeur);
} else {
printf("Entier non trouvé dans le tableau.\n");
}
// 5) Inverser le tableau en utilisant un deuxième tableau
int tableauInverse[100];
for (i = 0; i < taille; i++) {
tableauInverse[i] = tableau[taille - i - 1];
}
printf("Tableau inversé :\n");
for (i = 0; i < taille; i++) {
printf("%d ", tableauInverse[i]);
}
printf("\n");
return 0;
}