Le troisième de la série présentera un successeur du tableau en C : le vecteur. Le vecteur c'est un peu comme un tableau qui grandirait tout seul à la demande (adieu realloc et consors). Mais bon, stop la pub, des faits.
#include <iostream>
on le présente plus.
#include <vector>
Le fichier permettant d'utiliser les vecteurs
using namespace std;
Comme toujours, on ouvre la boîte.
int main()
Sans commentaire
{
cout << "Entrez des notes :" << endl;
Demande à l'utilisateur de saisir
vector< double > notes;
définit un vecteur contenant des réels (float est à banir - utilisez plutôt double) Ce vecteur s'appelle 'notes', il nous servira à entrer des notes afin d'en faire la moyenne. la syntaxe pour déclarer le vecteur est un peu spéciale mais c'est omme ça
double note = 0;
définit une note
while( cin >> note )
{
On boucle tant que... cin >> note permet d'essayer de lire une note (un réel) sur l'entrée standard. La boucle s'arrêtera dès qu'il n'y aura plus rien à lire un control+D fera l'affaire par exemple ou une lettre ou une saisie ne pouvant être traité comme un réel Les nombres peuvent être saisis sur une même ligne ou plusieurs.
notes.push_back( note );
la méthode push_back permet d'insérer à la fin du vecteur une note
}
vector<double>::size_type size = notes.size();
size() permet de connaître le nombre d'éléments contenus dans le vecteur
double somme = 0;
for ( vector<double>::size_type i = 0; i < size; ++i )
{
somme += notes[ i ];
L'opérateur [] permet d'accéder à l'emplacement i du vecteur. Attention à ne pas sortir des bornes... += permet d'ajouter la valeur contenue dans le vecteur à la valeur courant de somme c'est "équivalent" à: somme = somme + notes[i]; }
double moyenne = somme / size;
cout << "Moyenne : " << moyenne << endl;
Affichage classique. Facile maintenant.
}
La suite...
Le source complet : #include <iostream>
#include <vector>
using namespace std;
int main()
{
cout << "Entrez des notes :" << endl;
vector< double > notes;
double note = 0;
while( cin >> note )
{
notes.push_back( note );
}
vector<double>::size_type size = notes.size();
double somme = 0;
for ( vector<double>::size_type i = 0; i < size; ++i )
{
somme += notes[ i ];
}
double moyenne = somme / size;
cout << "Moyenne : " << moyenne << endl;
}
00001 #include <iostream>
00002 #include <vector>
00003 using namespace std;
00004 int main()
00005 {
00006 cout << "Entrez des notes :" << endl;
00007 vector< double > notes;
00008 double note = 0;
00009 while( cin >> note )
00010 {
00011 notes.push_back( note );
00012 }
00013 vector<double>::size_type size = notes.size();
00014 double somme = 0;
00015 for ( vector<double>::size_type i = 0; i < size; ++i )
00016 {
00017 somme += notes[ i ];
00018 }
00019
00020
00021 double moyenne = somme / size;
00022
00023
00024 cout << "Moyenne : " << moyenne << endl;
00025
00026 }
Dernière modification : Sun Jul 4 20:19:13 2004