VOOZH about

URL: https://www.geeksforgeeks.org/cpp/using-return-value-cin-take-unknown-number-inputs-c/

⇱ Using return value of cin to take unknown number of inputs in C++ - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Using return value of cin to take unknown number of inputs in C++

Last Updated : 23 Jun, 2022

Consider a problem where we need to take an unknown number of integer inputs. 

A typical solution is to run a loop and stop when a user enters a particular value. How to do it if we are not allowed to use if-else, switch-case, and conditional statements?

The idea is to use the fact that 'cin >> input' is false if the non-numeric value is given. Note that the above approach holds true only when the input value's data type is int (integer). 

Important Point: cin is an object of std::istream. In C++11 and later, std::istream has a conversion function explicit bool() const;, meaning that there is a valid conversion from std::istream to bool, but only where explicitly requested. An if or while counts as explicitly requesting conversion to bool. [Source StackOVerflow

Before C++ 11, std::istream had a conversion to operator void*() const;

Output: 

To stop enter any character
Enter Your Input 1 2 3 s
Total number of inputs entered: 3

Time Complexity: O(count)
Auxiliary Space: O(1)


 

Comment