Advertisement
Guest User

Number Words

a guest
Apr 28th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm> //http://www.cplusplus.com/articles/NhA0RXSz/
  4.  
  5. using namespace std;
  6.  
  7. void writeout(int, int);
  8. void printNumbers();
  9.  
  10. vector<string> ones {"","one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
  11. vector<string> teens {"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen","sixteen", "seventeen", "eighteen", "nineteen"};
  12. vector<string> tens {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
  13. vector<string> numbers;
  14.  
  15. //Vectors above
  16.  
  17.  
  18. int main() {
  19.     int variable;
  20.     cout << "Enter the num\n>> ";
  21.     cin >> variable;
  22.     writeout(variable, 0);
  23. }
  24.  
  25. void writeout(int num, int start) {
  26.     for (int x = start ; x <= num ; x++) {
  27.         if (x < 10) {
  28.             // cout << ones[x] << " ";
  29.             numbers.push_back(ones[x]);  //puts it in array to be sorted
  30.         }
  31.         else if (x < 20) {
  32.             // cout << teens[x%10] << " ";
  33.             numbers.push_back(teens[x%10]);
  34.         }
  35.         else if (x < 100) {
  36.             // cout << tens[x/10] << ones[x%10] << " ";
  37.             numbers.push_back(tens[x/10] + ones[x%10]);
  38.         }
  39.         else if (x < 1000) {
  40.             cout << ones[x/100] << "hundred"; writeout(x%100,x%100); //will recall function to complet rest
  41.             numbers.push_back(ones[x/100] + "hundred");
  42.         }
  43.         else if (x < 10000) {
  44.             cout << ones[x/1000] << "thousand"; writeout(x%1000,x%1000);
  45.         }
  46.         else if (x < 100000) {
  47.             cout << teens[x/10000] << "-thousand"; writeout(x%10000,x%10000);
  48.         }
  49.         else if (x < 1000000) {
  50.             cout << ones[x/100000] << "hundred-thousand"; writeout(x%100000,x%100000);
  51.         }
  52.     }
  53.     printNumbers();
  54. }
  55.  
  56. void printNumbers() {
  57.     sort(numbers.begin(), numbers.end()); //sort will alphabetically sort them
  58.     for (int x = 0 ; x < numbers.size() ; x++) {
  59.         cout << numbers[x];
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement