I want to save some numbers in a two-dimensional array until the user enters a zero that's the sign for the end of the process. How can I make this?
user enters something like this.
4586
6546
31358
0
I want to save some numbers in a two-dimensional array until the user enters a zero that's the sign for the end of the process. How can I make this?
user enters something like this.
4586
6546
31358
0
I don't understand that you mention 2 dimensional array. Use vectors.
#include <iostream>
#include <vector>
// Returns true if s is a number else false
bool isNumber(std::string s) {
for (int i = 0; i < s.length(); i++)
if (isdigit(s[i]) == false)
return false;
return true;
}
int main(int argc, const char * argv[]) {
std::string input;
std::vector<int> myvector;
int num;
while (1) {
std::cout << "Enter a number: ";
std::getline(std::cin, input);
if (isNumber(input) == false) {
std::cout << "Only a number is allowed!'" << std::endl;
continue;
}
num = std::stoi(input);
if (num == 0) {
break;
}
myvector.push_back (num);
std::cout << "Appended '" << input << "'. Vector is now:" << std::endl;
for (int i = int(myvector.size()) - 1; i >= 0; i--) {
std::cout << myvector[i] << std::endl;
}
}
return 0;
}