Vous êtes sur la page 1sur 2

Corrigé TP3/EXO5_EX06

Exercice 05: Exercice 06 :


#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
int main()
{ int main()
#define n 10 // équivalente à: const n = 10; {
int i,j=0,k=0; int T[50][50];
char chaine[n],min[n],maj[n]; int L, C,i,j,SOM;
printf("entrer une chaine de caractère de 10 printf("Nombre de lignes (max.50) : ");
lettres :\n"); scanf("%d", &L );
/* pour la saisie de la chaine, on doit le faire d’un printf("Nombre de colonnes (max.50) : ");
seul coup (non pas un à un) quelle que soit la scanf("%d", &C );
méthode utilisée */ /* On peut utiliser également: scanf("%d%d",
scanf("%s",chaine); &L,&C ); */
/* la lecture d’un tableau de caractère peut être for (i=0; i<L; i++)
également effectuée comme celle d’un tableau de for (j=0; j<C; j++)
nombres : for(i = 0 ; i<n ; i++) {
scanf("%c",&chaine[i]); */ printf("Element[%d][%d] : ",i,j);
printf("la chaine est: %s\n",chaine); // seulement scanf("%d", &T[i][j]);
// pour vérifier que la chaine a été bien saisie }
for(i=0;i<n;i++) printf("Tableau donne :\n");
/* il n’est pas nécessaire de mettre des accolades for (i=0; i<L; i++)
pour la boucle « for » ici, car « if » est considérée /* fêtes attention ! Les accolades ici sont
comme une seule instruction même si elle contient indispensables. */
plusieurs instructions dedans, ou même si elle est {
suivie de « else if » comme dans ce cas */ for (j=0; j<C; j++) // cette boucle contient
if (chaine[i]>=97 && chaine[i]<=122) // une seule instruction
{ printf("%d\t", T[i][j]);
min[j]=chaine[i];j++; printf("\n"); // cette instruction s’exécute
} // après l’exécution de toutes les itérations de la
else if(chaine[i]>=65 && chaine[i]<=90) // 2ème boucle
{ }
maj[k]=chaine[i];k++; /* Calcul de la somme */
} for (SOM=0, i=0; i<L; i++) // à remarquer: le
min[j]='\0';maj[k]='\0';// caractère de fin de //point en rouge c’est une virgule tandis que les
// chaine de caractères //autres ce sont des points virgules
// c’est un zéro et non pas
// la lettre ‘o’ /* on peut mettre également :
printf("Le tableau des majuscules contient:\n"); SOM = 0 ;
printf("%s\n",maj); // il est indispensable de For (i = 0 ; i < L ; i++ ) */
// mettre « \n » ici, sinon vos deux tableaux for (j=0; j<C; j++)
// « min » et « maj » vont être affichés sur la SOM += T[i][j];
// même ligne. Par conséquent, dans le cas où printf("Somme des elements : %d\n", SOM);
// vous n’utiliserez pas de message d’affichage return 0;
// (par exemple : le tableau des minuscules }
// contient :), vous aurez l’intention que c’est un
// seul tableau qui a été affiché
printf("%s",min);
return 0;
}
Remarques :
1- Concernant l’EX05, je m’excuse d’avoir commettre deux petites erreurs la séance passée, j’en ai
fait signe dans le corrigé, mais ce n’est pas mauvais de répéter :
 Pour la saisie d’une chaine de caractère, on doit le faire toujours d’un seul coup, sinon, le
programme ne va pas s’exécuter correctement, comme il s’est passé avec certains parmi
vous pendant la séance TP.
 Pour le caractère ‘\0’ qui indique la fin de chaine de caractère, c’est un zéro et non pas la
lettre ‘o’.
2- Pour une bonne préparation pour les interrogations écrites et surtout pour l’examen, il faut
absolument que vous vous habituer à écrire des programmes sans utiliser vos machines, sinon vous
allez rencontrer des difficultés à écrire un programme sans machine. De plus, je vous conseille
d’apprendre à tester vos programmes comme on l’a fait quelques fois sur le tableau, en utilisant des
petites variables, puis, en exécutant les instructions et les boucles pas à pas.
3- Apprenez à organiser vos programmes, afin que les erreurs de syntaxe soient rapidement repérées
par vous-même lorsque vous programmez, ou par le correcteur (par exemple : n’écrivez jamais
dans une linge qui contient une accolade, respecter les espacement, l’alignement…)
4- Pour ceux qui s’intéressent, voici un lien qui contient des cours complets de votre programme, bien
expliqués avec des exemples simples, à l’instar d’autres cours dans d’autres domaines de
programmation (il suffit de s’inscrire gratuitement) :

https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c

Finalement, vous avez trois semaines de vacances, je sais que vous n’allez pas y étudier, mais pour
l’informatique c’est l’occasion pour rattraper pour des uns ou pour avancer pour d’autres, parce que
je pense que c’est divertissant (par rapport aux autres modules). Alors profitez-en !
Bon courage et bonnes Vacances