Page principale | Pages associées

Le vecteur, un remplaçant du tableau[]

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 ) { // on boucle sur tous les éléments 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];
} // Calcul de la moyenne double moyenne = somme / size; // Afficher la moyenne cout << "Moyenne : " << moyenne << endl;
Affichage classique. Facile maintenant.

// non pas de return }

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 ) { // on boucle sur tous les éléments somme += notes[ i ]; } // Calcul de la moyenne double moyenne = somme / size; // Afficher la moyenne cout << "Moyenne : " << moyenne << endl; // non pas de return }
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 { // on boucle sur tous les éléments 00017 somme += notes[ i ]; 00018 } 00019 00020 // Calcul de la moyenne 00021 double moyenne = somme / size; 00022 00023 // Afficher la moyenne 00024 cout << "Moyenne : " << moyenne << endl; 00025 // non pas de return 00026 }

Dernière modification : Sun Jul 4 20:19:13 2004