Travail à Faire:
Recopiez le début de programme suivant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include #include using namespace std; int main(int argc, char ** argv) { const int nb_elements = 10; int T[nb_elements]; for(int i = 0; i < nb_elements; i++) T[i] = rand() % 100 + 1; return 0; } |
Utilisez une boucle pour l'initialisation, une autre pour l'affichage, une troisième pour le calcul de la somme, du produit, du minimum et du maximum.
Utilisez une quatrième boucle pour la construction des tableaux Tpairs et Timpairs.
En particulier, - contrairement à ce qui est proposé dans ce corrigé - il est possible de calculer le maximum et le minimum en affectant la valeur du premier élément du tableau aux variables minet max, et en parcourant ensuite le reste du tableau. Dans ce cas, il faut prendre soin de n'affecter leur valeur initiale à min et max qu'après avoir initialisé le tableau!
T
sont générés aléatoirement, il est impossible de connaître à l'avance la taille des tableaux Tpairs
et Timpairs
. Tout ce que nous savons, c'est qu'ils auront au plusnb_elements
éléments. La solution consiste donc à déclarer 2 tableaux de taille nb_elements
.
Pour peupler Tpairs
et Timpairs
, on parcourt T
et on ajoute ses éléments à Tpairs
et Timpairs
en fonction de leur parité. Il faut maintenir un indice séparé pour chacun des deux tableauxTpairs
et Timpairs
.
Finalement, pour leur affichage, il faut prendre soin d'afficher le bon nombre d'éléments qui ont effectivement été insérés dans ces tableaux.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
#include using namespace std; int main(int argc, char **argv) { const int nb_elements = 10; int T[nb_elements]; int Tpairs[nb_elements]; int Timpairs[nb_elements]; int somme = 0; float produit = 1; // int est trop petit pour le produit int nb_pairs = 0, nb_impairs = 0; int min = 100; // on sait que les nombres seront int max = 0; // compris entre 0 et 100 // initialisation for(int i = 0; i < nb_elements; i++) T[i] = rand() % 100 + 1; // affichage du tableau en colonne for (int i=0; i<nb_elements; i++) cout << T[i] << endl; // affichage du tableau en ligne for (int i=0; i< nb_elements; i++) cout << T[i] << " "; cout << endl; // calcul du produit, de la somme, etc. for (int i=0; i<nb_elements; i++) { somme += T[i]; produit *= T[i]; if (T[i] < min) min = T[i]; if (T[i] > max) max = T[i]; } cout << "La somme de tous les elements de T est " << somme << endl; cout << "Le produit de tous les elements de T est " << produit << endl; cout << "Le plus petit element de T est " << min << endl; cout << "Le plus grand element de T est " << max << endl; // construction de Tpairs et Timpairs for (int i=0; i<nb_elements; i++) { if ((T[i] % 2) == 0) { Tpairs[nb_pairs] = T[i]; nb_pairs++; } else { Timpairs[nb_impairs] = T[i]; nb_impairs++; } } cout << "Les nombres pairs de T sont: " << endl; for (int i = 0; i < nb_pairs; i++) cout << "Tpairs[" << i << "] = " << Tpairs[i] << endl; cout << "Les nombres impairs de T sont: " << endl; for (int i = 0; i < nb_impairs; i++) cout << "Timpairs[" << i << "] = " << Timpairs[i] << endl; return 0; } |