Informatique et Programmation Examen N°2
12 juin 2012 18h30-20h30
Nom : Prénom :
Remarques :
Exercice 1 :
Ecrire une fonction comp_tab() qui compare 2 tableaux. La fonction renvoie 1 si les 2 tableaux sont identiques et 0 sinon. Ecrire un petit programme pour tester la fonction.
Exercice 2 :
Ecrivez un programme qui accepte une chaîne de caractères minuscules (255 caractères maximum) en entrée et qui affiche la même chaîne avec tous ses caractères en majuscule.
Exemple :
Tapez une ligne de texte en minuscule : ceci est un essai Chaine convertie : CECI EST UN ESSAI
Vous utiliserez une fonction conversion() qui accepte comme paramètre un pointeur sur le début d’une chaîne et qui convertit les caractères contenus dans cette chaîne. Les
entrées-sorties (saisie et affichage de la chaîne) seront effectuées dans la fonction main(). Il existe en C une fonction toupper qui accepte en entrée un caractère et qui retourne le caractère converti en majuscule. Son prototype est le suivant :
char toupper(char c);
Exercice 3 :
Ecrire un programme texte.c qui écrit dans un fichier texte.txt le texte saisi par l'utilisateur au clavier. Le programme devra vérifier la présence de caractère à chaque ligne et s'arrêter si aucun caractère n'est présent.
Exercice 4 :
Le programme suivant affiche la valeur minimale d’un tableau ainsi que sa position. Il ne marche pas correctement.
#include <stdio.h>
void rech_tab(int tab[], int taille, int min, int pos);
int main() {
int tab[5] = {-5, 12, 0, -25, 14};
int pos, min;
rech_tab(tab, 5, min, pos);
printf("Le minimum %d est a la position %d\n", min, pos);
return 0;
}
void rech_tab(int tab[], int taille, int min, int pos) { int i;
min = tab[0];
pos = 0;
for (i = 0; i < taille; i++) { if (tab[i] < min) {
min = tab[i];
pos = i;
} } }
Pour corriger le problème, la fonction rech_tab doit utiliser les pointeurs. Modifiez le programme pour qu’il fonctionne correctement.
Exercice 5 :
Modifier le programme de l'exercice 4 de manière à utiliser une structure pour mémoriser les valeurs min et pos. La fonction rech_tab pourra éventuellement renvoyer la structure au moyen d'un return