Friday, December 5, 2014

File Io and Pass by Reference via Reference Parameters in c++ pro



Pass by Value vs. Pass by Reference

#include 
#include
using namespace std;
int inc(int number);
int main() 
{
   int n = 8;
   cout << "Before calling function, n is " << n << endl; 
   int result = inc(n);
   cout << "After calling function, n is " << n << endl;  
   cout << "Result is " << result << endl;               
}
int inc(int number) 
{
   ++number;  
   return number;
}
 

Pass by Reference via Reference Parameters


#include 
#include
using namespace std;
int squarebyvalue (int number);        
void squarebyreference (int & number); 
int main() 
{
   int n1 = 8;
   cout << "Before call, value is " << n1 << endl;  
   cout << squarebyvalue(n1) << endl;  
   cout << "After call, value is " << n1 << endl
   int n2 = 9;
   cout << "Before call, value is " << n2 << endl;  
   squarebyreference(n2);  
   cout << "After call, value is " << n2 << endl;   
}
int squarebyvalue (int number) 
{
   return number * number;
}
void squarebyreference (int & number) 
{
   number = number * number;
}
Test rand and srand time
#include 
#include
#include   
#include     
using namespace std;
int main() 
{
   cout << "Rand_max is " << rand_max << endl;   
   for (int i = 0; i < 10; ++i) 
   {
      cout << rand() % 100 << " ";   
   }
   cout << endl;
   srand(time(0));   
      for (int i = 0; i < 10; ++i) 
    {
      cout << rand() % 100 << " ";   
     }
   cout << endl;
}
Test rand()'s Distribution

#include 
#include
#include 
#include   
#include     
using namespace std;
const int total_count = 2000000;  
const int num_faces = 6;
int frequencies[6] = {0}; 
int main() 
{
   srand(time(0)); 
   for (int i = 0; i < total_count; ++i) 
  {
      ++frequencies[rand() % 6];
   }
   cout << fixed << setprecision(2);
   for (int i = 0; i < num_faces; i++) 
  {
      cout << i+1 << ": " << frequencies[i]
           << " (" << 100.0 * frequencies[i] / total_count << "%)" << endl;
   }
}

File IO


#include 
#include
#include   
          #include 
using namespace std;
int main() 
{
   ifstream fin;   
   ofstream fout;  
   fin.open("in.txt");
   if (!fin.is_open()) 
  {
      cerr << "error: open input file failed" << endl;
      abort();  
   }
   int sum = 0, number, count = 0;
   while (!(fin.eof())) 
  {
      fin >> number;
      sum += number;
      ++count;
   }
   double average = double(sum) / count;
   cout << "Count = " << count << " average = " << average << endl;
   fin.close();
   fout.open("out.txt");
   if (!fout.is_open()) 
   {
      cerr << "error: open output file failed" << endl;
      abort();
   }
   fout << average;
   fout.close();
   return 0;
}
 

No comments:

Post a Comment