C++ 中二维数组中未知数量的元素

the unknown numbers of elements in a two-dimensional array in c++

本文关键字:元素 未知数 二维数组 C++      更新时间:2023-10-16

我想在二维数组中保存一些数字,直到用户输入一个零,这是该过程结束的符号。我该怎么做?
用户输入类似这样的内容。

4586

6546

31358

0

我不明白你提到二维数组。使用矢量。

#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;
}