Académique Documents
Professionnel Documents
Culture Documents
1. crivez une fonction int somme(int x, int y) qui retourne l'addition de x et y. 2. crivez une fonction void somme(int *resultat, int x, int y) qui additionne
caractre pass par adresse, elle le transforme en minuscule s'il est en majuscule.
5. crivez une fonction int compter_occurrences(char car, int taille, char
*mot) qui retourne le nombre d'occurrences d'un caractre car dans une chane mot de taille taille. Utilisez cette fonction dans le main en lisant le mot avec un scanf puis
Correction du TP 4
1. crivez une fonction int somme(int x, int y) qui retourne l'addition de x et y.
2.
8.
return (x + y); 9. } 10. 11. int main(void) 12. { 13. int nb1, nb2; 14. 15. printf("entrez 2 nombres : "); 16. if(scanf("%d %d", &nb1, &nb2) != 2){ 17. printf("erreur de saisie\n"); 18. exit(1); 19. } 20. 21. printf("la somme de %d et %d est %d\n", nb1, nb2, somme(nb1, nb2)); 22. 23. return 0; 24. }
25.
26. crivez une fonction void somme(int *resultat, int x, int y) qui additionne
78.
79.
80. 82.
85. crivez une fonction minuscule void minuscule(char *car) qui modifie le
86.
caractre pass par adresse, elle le transforme en minuscule s'il est en majuscule.
137.
138.
int compteur = 0, indice; for(indice=0; indice < taille; indice++) if(mot[indice] == car) compteur++;
143.
return compteur; 144. } 145. 146. int main(void) 147. { 148. int taille; // taille du mot 149. int i; 150. int nboccur; // nb d'occurrences de la lettre 151. char texte[125]; 152. 153. printf("entrez un mot : "); 154. scanf("%s", texte); 155. 156. taille = strlen(texte); 157. 158. for(i = 0; i < taille; i++){ 159. nboccur = compter_occurrences(texte[i], taille, texte); 160. printf("%c apparait %d fois\n", texte[i], nboccur); 161. } 162. 163. return 0; 164. } 165.
puis essayez de l'utiliser lorsque le mot est entr sur la ligne de commandes.
// idem avec la ligne de commande #include <stdio.h> #include <string.h> #include <stdlib.h> int compter_occurrences(char car, int taille, char *mot) { int compteur = 0, indice; for(indice=0; indice < taille; indice++) if(mot[indice] == car) compteur++; return compteur; } // version qui utilise la ligne de commande
int main(int argc, char *argv[]) { int taille; // taille du mot int i; int nboccur; // nb d'occurrences de la lettre if(argc != 2){ printf("usage compter mot\n"); exit(1); } taille = strlen(argv[1]); for(i = 0; i < taille; i++){ nboccur = compter_occurrences(argv[1][i], taille, argv[1]); printf("%c apparait %d fois\n",argv[1][i], nboccur); } return 0; }
166.
167.
crivez une fonction int compter_voyelles(int taille, char *mot) qui retourne le nombre de voyelles dans la chane mot de taille taille.
174.
175.
int compteur = 0, indice; for(indice=0; indice < taille; indice++) if(mot[indice] == car) compteur++;
180.
return compteur; 181. } 182. 183. int compter_voyelles(int taille, char *texte) 184. { 185. int i; 186. int compteur = 0; 187. char voyelles[14] = "aeiouyAEIOUY"; 188. 189. for(i = 0; i < 14 ; i++){ 190. compteur += compter_occurrences(voyelles[i], taille, texte); 191. } 192. 193. return compteur; 194. } 195. 196. int main(void) 197. { 198. int taille; // taille du mot 199. char txt[125];
200.
201. 202.
203. 205. 207.
printf("entrez un mot : "); scanf("%s", txt); taille = strlen(txt); printf("%d voyelles\n", compter_voyelles(taille, txt)); return 0;
211.
212. 213. // compte les occurrences d'un caractere dans un mot. 214. 215. #include <stdio.h> 216. #include <string.h> 217. #include <stdlib.h> 218. 219. char texte[125]; // mot 220. int taille; // taille du mot 221. 222. int compter_occurrences(char car) 223. { 224. int compteur = 0, indice; 225. 226. for(indice=0; indice < taille; indice++) 227. if(texte[indice] == car) 228. compteur++; 229. 230. return compteur; 231. } 232. 233. int main(void) 234. { 235. int i; 236. int nboccur; // nb d'occurrences de la lettre 237. 238. printf("entrez un mot : "); 239. scanf("%s", texte); 240. 241. taille = strlen(texte); 242. 243. for(i = 0; i < taille; i++){ 244. nboccur = compter_occurrences(texte[i]); 245. printf("%c apparait %d fois\n", texte[i], nboccur); 246. } 247. 248. return 0; 249. } 250.
Rcrivez la fonction compter_occurrences avec la taille de la chane et le mot qui sont des variables globales.