/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Auteur(s) : Nicole Leblanc IFT 1810 B + + Jean Tremblay IFT 1810 B + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + But du programme : Ce programme permet de . . . + + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Dernière mise à jour : + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Fichier Tableaux3.c A étudier pour le TP2 et l'intra */ #include #include /* pour FLT_MIN et FLT_MAX */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Auteur(s) : Nicole Leblanc IFT 1810 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + But de la fonction : Cette fonction compte et retourne le nombre + + de personnes ayant un statut voulu + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Dernière mise à jour : jj mm aaaa + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ int nombre ( char statutVoulu, char statut[], int nbPers) { int n = 0 , i ; for(i = 0; i < nbPers; i++) if (statut[i] == statutVoulu) n++; return n; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Auteur(s) : Jean Tremblay IFT 1810 B Groupe 1 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + But de la fonction : Cette fonction affiche le contenu des 3 tableaux + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Dernière mise à jour : + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ void afficher(char statut[], float taille[], float poids[], int nbPers) { int i ; printf("Contenu des 3 tableaux au debut\n"); printf(" indice taille poids statut\n"); for ( i = 0; i < nbPers; i++) { printf("%5d%8.2f %9.1f", i, taille[i], poids[i]); switch (statut[i]) { case 'M' : printf(" marie\n"); break; case 'C' : printf(" celibataire\n"); break; case 'D' : printf(" divorce\n"); break; case 'S' : printf(" separe\n"); break; case 'V' : printf(" veuf\n"); break; case 'A' : printf(" autre\n"); } } printf("\n"); } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Auteur(s) : Jean Tremblay IFT 1810 B Groupe 1 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + But de la fonction : Cette fonction compte et retourne le nombre + + d'elements d'un tableau qui depassent + + une borne donnee + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Dernière mise à jour : jeudi 28 fevrier + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ int nbFois(float tab[], int nbElem, float borne) { int i, n = 0; for( i = 0; i < nbElem ; i++) if ( tab[i] > borne ) n++; return n; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Auteur(s) : Nicole Leblanc IFT 1810 B Groupe 1 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + But de la fonction : Cette fonction calcule et retourne la moyenne + + d'un tableau des reels + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Dernière mise à jour : jeudi 28 fevrier + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ float moyenne(float tableau[], int nbElem) { int i; float somme = 0.0; for (i = 0; i < nbElem ; i++) somme += tableau[i]; return somme / nbElem ; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Auteur(s) : Jean Tremblay IFT 1810 B Groupe 1 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + But de la fonction : Cette fonction determine et retourne la valeur + + maximale d'un tableau des reels + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Dernière mise à jour : jeudi 28 fevrier + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ float maxi(float tableau[], int nbElem) { float plusGrand = FLT_MIN; /* le reel le plus petit */ int i ; for ( i = 0; i < nbElem ; i++) if (tableau[i] > plusGrand) plusGrand = tableau[i]; return plusGrand; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Auteur(s) : Jean Tremblay IFT 1810 B Groupe 1 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + But de la fonction : Cette fonction affiche le contenu des 3 tableaux + + pour un statut voulu (voir l'exécution) + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Dernière mise à jour : jeudi 28 fevrier + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ void afficher2(char statutVoulu, char statut[], float taille[], float poids[], int nbPers) { int i, k = 0 ; printf("\nContenu des 3 tableaux pour le statut voulu : %c\n", statutVoulu); printf(" rang statut taille poids \n"); for ( i = 0; i < nbPers; i++) { if (statut[i] == statutVoulu) { k++; printf("%5d) %5c %8.2f %9.1f\n", k, statut[i], taille[i], poids[i]); } } printf("\n\n"); } int main() { char statut[] = { 'M', 'C', 'D', 'M', 'S', 'M', 'A' }; float taille[]= { 1.72, 1.65, 1.59, 1.80, 1.82, 1.68, 1.75}, poids[] = { 68.3, 52.1, 72.9, 70.4, 81.5, 65.4, 70.3 } ; int nbPers = sizeof(statut) / sizeof(char); afficher(statut, taille, poids, nbPers); printf("Le nombre de personnes mariees : %d\n", nombre('M', statut, nbPers)); printf("Le nombre de personness separees : %d\n", nombre('S', statut, nbPers)); printf("Le nombre de personnes veuves : %d\n", nombre('V', statut, nbPers)); printf("La taille moyenne : %.2f metre\n", moyenne(taille, nbPers)); printf("Le poids moyen : %.1f kg\n", moyenne(poids, nbPers)); printf("La taille la plus grande : %.2f metre\n", maxi(taille, nbPers)); printf("Le poids le plus lourd : %.1f kg\n", maxi(poids, nbPers)); printf("Le nombre de personnes dont la taille depasse 1.76 metre : %d\n", nbFois(taille, nbPers, 1.76)); printf("Le nombre de personnes dont le poids depasse 70.0 kg : %d\n", nbFois(poids, nbPers, 70.0)); afficher2('M', statut, taille, poids, nbPers); system("pause") ; return 0; } /* Exécution: Contenu des 3 tableaux au debut indice taille poids statut 0 1.72 68.3 marie 1 1.65 52.1 celibataire 2 1.59 72.9 divorce 3 1.80 70.4 marie 4 1.82 81.5 separe 5 1.68 65.4 marie 6 1.75 70.3 autre Le nombre de personnes mariees : 3 Le nombre de personness separees : 1 Le nombre de personnes veuves : 0 La taille moyenne : 1.72 metre Le poids moyen : 68.7 kg La taille la plus grande : 1.82 metre Le poids le plus lourd : 81.5 kg Le nombre de personnes dont la taille depasse 1.76 metre : 2 Le nombre de personnes dont le poids depasse 70.0 kg : 4 Contenu des 3 tableaux pour le statut voulu : M rang statut taille poids 1) M 1.72 68.3 2) M 1.80 70.4 3) M 1.68 65.4 Appuyez sur une touche pour continuer... */