Advertisement
Guest User

Untitled

a guest
Sep 21st, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. // Computer Programming, XB_40011, Fall 2018
  2. // Vrije Universiteit, Amsterdam
  3. //
  4. // (GRADED) Assignment 3.3 "Second smallest"
  5. //
  6. // Submit this assignment to Canvas!
  7. // By doing so you declare to comply to the regulations as stated
  8. // on the page on "Ethical behaviour and fraud" in the course's
  9. // Canvas site.
  10. //
  11. // Student name   : Nicola Vermeulen
  12. // Student number : 2635010
  13. // VUnet-id       : nvn960
  14. //
  15. // Fill in your details above,
  16. // then enter your code below this header.
  17. //
  18.  
  19.  
  20. #include <iostream>
  21. #include <vector>
  22. #include <climits>
  23. using namespace std;
  24.  
  25. int main() {
  26.   vector<int> numbers(1);
  27.   int item;
  28.   int smallest;
  29.   int secondSmallest;
  30.  
  31.   cout << "Enter the numbers in random order: (close by entering q)";
  32.   while (cin >> item) {
  33.     numbers.push_back(item);
  34.   }
  35.  
  36.   smallest = numbers.at(0);
  37.   secondSmallest = INT_MAX;
  38.  
  39.   for (int i=0; i < numbers.size(); i++) {
  40.  
  41.     if (numbers.at(i) < smallest) {
  42.       secondSmallest = smallest;
  43.       smallest = numbers.at(i);
  44.     } else if (numbers.at(i) < secondSmallest) {
  45.       secondSmallest = numbers.at(i);
  46.     }
  47.   }
  48.  
  49.  
  50.   try {
  51.     if (secondSmallest == INT_MAX || secondSmallest == smallest) {
  52.       throw runtime_error("error: no second smallest");
  53.     }
  54.     cout << "The second smallest number is " << secondSmallest;
  55.   } catch (runtime_error& excpt) {
  56.     cout << excpt.what();
  57.   }
  58.  
  59.   return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement