valvect.cpp 920 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // valvect.cpp -- comparing vector and valarray
  2. #include <iostream>
  3. #include <valarray>
  4. #include <vector>
  5. #include <algorithm>
  6. int main()
  7. {
  8. using namespace std;
  9. vector<double> data;
  10. double temp;
  11. cout << "Enter numbers (<=0 to quit):\n";
  12. while (cin >> temp && temp > 0)
  13. data.push_back(temp);
  14. sort(data.begin(), data.end());
  15. int size = data.size();
  16. valarray<double> numbers(size);
  17. int i;
  18. for (i = 0; i < size; i++)
  19. numbers[i] = data[i];
  20. valarray<double> sq_rts(size);
  21. sq_rts = sqrt(numbers);
  22. valarray<double> results(size);
  23. results = numbers + 2.0 * sq_rts;
  24. cout.setf(ios_base::fixed);
  25. cout.precision(4);
  26. for (i = 0; i < size; i++)
  27. {
  28. cout.width(8);
  29. cout << numbers[i] << ": ";
  30. cout.width(8);
  31. cout << results[i] << endl;
  32. }
  33. cout << "done\n";
  34. // cin.get();
  35. // cin.get();
  36. return 0;
  37. }