123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // randwalk.cpp -- using the Vector class
- // compile with the vect.cpp file
- #include <iostream>
- #include <cstdlib> // rand(), srand() prototypes
- #include <ctime> // time() prototype
- #include "vect.h"
- int main()
- {
- using namespace std;
- using VECTOR::Vector;
- srand(time(0)); // seed random-number generator
- double direction;
- Vector step;
- Vector result(0.0, 0.0);
- unsigned long steps = 0;
- double target;
- double dstep;
- cout << "Enter target distance (q to quit): ";
- while (cin >> target)
- {
- cout << "Enter step length: ";
- if (!(cin >> dstep))
- break;
- while (result.magval() < target)
- {
- direction = rand() % 360;
- step.reset(dstep, direction, POL);
- result = result + step;
- steps++;
- }
- cout << "After " << steps << " steps, the subject "
- "has the following location:\n";
- cout << result << endl;
- result.polar_mode();
- cout << " or\n" << result << endl;
- cout << "Average outward distance per step = "
- << result.magval()/steps << endl;
- steps = 0;
- result.reset(0.0, 0.0);
- cout << "Enter target distance (q to quit): ";
- }
- cout << "Bye!\n";
- /* keep window open
- cin.clear();
- while (cin.get() != '\n')
- continue;
- cin.get();
- */
- return 0;
- }
|