Difference between revisions of "CPP/STL/RandomData"

From ProgrammingExamples
< CPP
Jump to: navigation, search
(Created page with '==Generate.cpp== <source lang="cpp"> #include <iostream> #include <vector> #include <algorithm> template <typename T> class data_filler { public: data_filler(){} T operat…')
 
(Generate.cpp)
Line 5: Line 5:
 
#include <algorithm>
 
#include <algorithm>
  
template <typename T>
+
struct RandFloat{   
class data_filler
+
   float operator()() { return rand()/(float)RAND_MAX; }
{   
+
public:
+
  data_filler(){}
+
   T operator()() { return rand()/(T)RAND_MAX; }
+
 
};
 
};
  
Line 16: Line 12:
 
{
 
{
 
   //create some random data
 
   //create some random data
   std::vector<double> data(10);
+
   std::vector<float> data(10,0.0f);
   std::generate(data.begin(), data.end(), data_filler<double>());
+
  //from data.begin to end, generate random floats for each index
 +
   std::generate(data.begin(), data.end(), RandFloat());
  
   for(unsigned int i = 0; i < data.size(); i++)
+
   for(unsigned int i = 0; i < data.size(); i++){
  {
+
 
     std::cout << data[i] << std::endl;
 
     std::cout << data[i] << std::endl;
 
   }
 
   }

Revision as of 00:48, 29 June 2010

Generate.cpp

#include <iostream>
#include <vector>
#include <algorithm>
 
struct RandFloat{  
  float operator()() { return rand()/(float)RAND_MAX; }
};
 
int main (int argc, char *argv[]) 
{
  //create some random data
  std::vector<float> data(10,0.0f);
  //from data.begin to end, generate random floats for each index
  std::generate(data.begin(), data.end(), RandFloat());
 
  for(unsigned int i = 0; i < data.size(); i++){
    std::cout << data[i] << std::endl;
  }
 
  return 0;
}