Bonjour,
Commençons par rectifier l'affichage : ce sera plutôt avec l'utilisation des flux en C++ :
1 2
| for (size_t i = 0; i < tableau.size(); i++)
std::cout<<tableau[i]<<"\n"; |
Et en allant plus loin avec la STL, tu peux même simplifier avec les itérateurs :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| // std::cout
#include <iostream>
// std::ostream_iterator
#include <iterator>
// std::copy
#include <algorithm>
//std::vector
#include <vector>
int main()
{
std::vector<int> tableau;
std::copy(
tableau.begin(),
tableau.end(),std::ostream_iterator<int>(std::cout,"\n")
);
return 0;
} |
Pour l'initialiser, tu as plusieurs solutions
-> rajouter d'office 10 nombres :
tableau.resize(10); // tableau a dix éléments, chacun a la valeur 0
-> utiliser push_back pour ajouter chacun des éléments :
1 2 3
| for(int i=0;i<10;++i){
tableau.push_back(i);
} |
-> utiliser un générateur et l'algorithme std;::generate :
1 2 3 4 5 6 7 8 9 10 11
|
struct mon_generateur {
int operator()() {return 0;}
};
int main()
{
std::vector<int> tableau;
tableau.resize(10);
std::generate(tableau.begin(),tableau.end(),mon_generateur());
} |
-> Utiliser std::generate_n avec un insert_iterator :
1 2 3 4 5 6 7 8 9 10
|
struct mon_generateur {
int operator()() {return 0;}
};
int main()
{
std::vector<int> tableau;
std::generate_n( std::back_inserter(tableau.end()), 10 ,mon_generateur());
} |
Pour générer un nombre aléatoire, il suffit de remplacer dans int operator()() du générateur, la valeur 0 par la fonction C de génération aléatoire . Ou si tu es plus sport, de regarder Boost.Random
Partager