0% ont trouvé ce document utile (0 vote)
111 vues6 pages

Correction TP10

Le document présente une série d'exercices de programmation en C, incluant des tâches telles que la manipulation de chaînes de caractères, l'utilisation de boucles pour vérifier des conditions, et la gestion de tableaux d'entiers. Chaque exercice est accompagné d'une solution détaillée en code, illustrant des concepts fondamentaux de la programmation. Les exercices couvrent des sujets variés, allant de la saisie utilisateur à la recherche d'éléments dans un tableau.

Transféré par

yassinerassas777
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)
111 vues6 pages

Correction TP10

Le document présente une série d'exercices de programmation en C, incluant des tâches telles que la manipulation de chaînes de caractères, l'utilisation de boucles pour vérifier des conditions, et la gestion de tableaux d'entiers. Chaque exercice est accompagné d'une solution détaillée en code, illustrant des concepts fondamentaux de la programmation. Les exercices couvrent des sujets variés, allant de la saisie utilisateur à la recherche d'éléments dans un tableau.

Transféré par

yassinerassas777
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

Ecole Polytechnique Sousse A.

U : semestre 1

Série de Travaux Pratiques


TP 10 : Révision
Vol.
Matière Consolidation C Auditoire 1 LBI 2 heures
horaire

Exercice 1:
Écrire un programme C qui :

Demande à l’utilisateur de saisir par le clavier trois chaînes de caractères (dynamiques)


Comparer les deux chaînes 1 et 2 puis afficher le résultat
Affichez la longueur de la chaîne 1.
Affichez la longueur de la chaîne 2.
Affichez la longueur de la chaîne 3.
Concaténer les deux chaînes 1 et 2 puis afficher le résultat.
Concaténer 4 caractères de la chaine 3 dans la chaîne 2 puis afficher le résultat.
Solution :
#include <stdio.h>
#include <string.h>
int main() {
char chaine1[30] ;
char chaine2[30] ;
char chaine3[30] ;

printf("Entrez la première chaîne: ");


gets(chaine1);
printf("Entrez la deuxième chaîne: ");
gets(chaine2);
printf("Entrez la troisième chaîne: ");
gets(chaine3);

int c=strcmp(chaine1, chaine2);


printf("Comparaison : %d\n", c);

int longueur1 = strlen(chaine1) ;

1
int longueur2 = strlen(chaine2) ;
int longueur3 = strlen(chaine3) ;

printf("La longueur de la chaîne1 est : %d\n", longueur1);


printf("La longueur de la chaîne2 est : %d\n", longueur2);
printf("La longueur de la chaîne3 est : %d\n", longueur3);

strcat(chaine1, chaine2);
printf("Chaine copiee : %s\n", chaine1);

strncat(chaine2, chaine3,4);
printf("Chaine copiee : %s\n", chaine2);

return 0;
}

Exercice 2:
En utilisant une boucle while
1. Développer un code qui

2. Demander à l'utilisateur de saisir un nombre entier.

3. Vérifier si le nombre est positif.

4. Si le nombre est négatif, redemander un nombre.

5. Répéter cela jusqu'à ce que l'utilisateur saisisse un nombre positif.

Solution :
#include <stdio.h>

int main() {
int nombre;

printf("Entrez un nombre positif : ");


scanf("%d", &nombre);

while (nombre < 0) {


printf("Le nombre est négatif. Essayez encore : ");
scanf("%d", &nombre);
}
printf("Vous avez saisi un nombre positif : %d\n",
nombre);
return 0;
}

2
Exercice 3 :
➢ Écrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un
tableau. Le programme doit afficher le nombre d'entiers supérieurs ou égaux à 10.

Solution
#include <stdio.h>

int main() {
int tableau[10];
int compteur = 0;

printf("Veuillez entrer 10 entiers :\n");


for (int i = 0; i < 10; i++) {
scanf("%d", &tableau[i]);
}

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


if (tableau[i] >= 10) {
compteur++;
}
}
printf("Le nombre d'entiers supérieurs ou égaux à 10 est : %d\n", compteur);

return 0;
}

Exercice 4 :
Ecrire un programme qui :

Lit la dimension N d'un tableau T du type int (dimension maximale : 50 composantes),

Remplit le tableau par des valeurs entrées au clavier

Affiche le tableau.

Calculer et afficher ensuite la somme des éléments du tableau.

3
Solution :
#include <stdio.h>

int main() {
int T[50];
int N;
int I;

int SOM;

printf("Dimension du tableau max.50 : ");


scanf("%d", &N );

for (I=0; I<N; I++)

{ printf("Elément %d : ", I);

scanf("%d", &T[I]); }

for (I=0; I<N; I++)

printf("%d ", T[I]);


printf("\n");

for (SOM=0, I=0; I<N; I++)


SOM =SOM+ T[I];

printf("Somme de éléments : %ld\n", SOM);

return 0; }

Exercice 5 :

Écrivez un programme en C++ qui fait ce qui suit :


Demander à l'utilisateur de saisir 10 entiers et les stocker dans un tableau.
Afficher les entiers saisis.
Trouver et afficher le plus grand et le plus petit entier du tableau.
Calculer la somme de tous les entiers du tableau et l'afficher.
Calculer la moyenne des entiers et l'afficher.

4
Solution :
#include <stdio.h>

int main() {
int tableau[10]; // Déclaration du tableau pour stocker 10 entiers
int somme = 0; // Variable pour stocker la somme des entiers
int max, min; // Variables pour le maximum et le minimum

printf("Veuillez entrer 10 entiers :\n");


for (int i = 0; i < 10; i++) {
scanf("%d", &tableau[i]);
}

// Afficher les entiers saisis


printf("\nLes entiers saisis sont :\n");
for (int i = 0; i < 10; i++) {
printf("%d ", tableau[i]);
}
printf("\n");

// Initialiser max et min avec le premier élément du tableau


max = tableau[0];
min = tableau[0];

// Calculer la somme, et trouver le max et le min


for (int i = 0; i < 10; i++) {
somme += tableau[i]; // Additionner l'élément à la somme
if (tableau[i] > max) {
max = tableau[i]; // Mettre à jour max
}
if (tableau[i] < min) {
min = tableau[i]; // Mettre à jour min
}
}

// Calculer la moyenne
float moyenne = somme / 10 ;

// Afficher les résultats


printf("\nLe plus grand entier est : %d\n", max);
printf("Le plus petit entier est : %d\n", min);
printf("La somme des entiers est : %d\n", somme);
printf("La moyenne des entiers est : %.2f\n", moyenne);

return 0;
}

5
Exercice 6 :

Écrire un programme C qui :


- Initialise un tableau d’entiers
- Demande à l’utilisateur de saisir une valeur val
- Rechercher puis affiche la position de la première occurrence de val, si elle existe, dans le
tableau.

Solution :
#include <stdio.h>
main()
{
int A[50]; /* tableau donné */
int VAL; /* valeur à rechercher */
int POS; /* position de la valeur */
int N; /* dimension */
int I; /* indice courant */

printf("Dimension du tableau (max.50) : ");


scanf("%d", &N );
for (I=0; I<N; I++)
{
printf("Element %d : ", I);
scanf("%d", &A[I]);
}
printf("Element a rechercher : ");
scanf("%d", &VAL );
/* Affichage du tableau */
printf("Tableau donne : \n");
for (I=0; I<N; I++)
printf("%d ", A[I]);
printf("\n");
/* Recherche de la position de la valeur */
POS = -1;
for (I=0 ; (I<N)&&(POS==-1) ; I++)
if (A[I]==VAL)
POS=I;
/* Edition du résultat */
if (POS==-1)
printf("La valeur recherchée ne se trouve pas dans le tableau.\n");
else
printf("La valeur %d se trouve a la position %d. \n",
VAL, POS);
return 0;
}

Vous aimerez peut-être aussi