使用用户定义的维度在C ++中创建2D数组(正方形)?

时间:2018-02-19 02:00:53

标签: c++ arrays multidimensional-array

所以我在C ++中制作一个魔术方程式,用户必须输入方形的尺寸。输入只能是包含的3和15之间的奇数。这是我到目前为止的代码,但是还没有完成:

#include <iostream>
using namespace std;

int main() {

    int row = 0;
    cout << "Enter the size of a magic square: ";
    cin >> row;

    while (cin.fail() || row != 3, 5, 7, 9, 11, 13, 15)
    {
        cout << "Please enter an odd number within the bounds of 3 and 15.\n" << endl;
        cout << "Enter the size of a magic square: ";
        cin >> row;
    }

    if (row = 3, 5, 7, 9, 11, 13, 15) {

        int** square = new int*[row];

        for (int i = 0; i < row; i++)
        {
            square[i]= new int[row];
        }

        cout << "Magic Square #1 is:" << endl;
    }

    cin.get();
    return 0;
}

我有很多问题。首先,如何制作具有用户定义尺寸的2D阵列?由于数组是正方形,我试过

int** square = new int*[row][row];

但我被告知第二个维度必须是一个常数,我不明白为什么。此外,我对用户输入的错误检查没有按预期运行。如果输入非整数,则错误消息将无限循环。但是,如果你输入任何整数,消息将接受输入,但然后重新提示用户再次输入一个整数,没有结束。

任何人都可以帮助我吗?我刚开始使用C ++,我唯一的背景是Java。谢谢。

1 个答案:

答案 0 :(得分:0)

正如MushroomBoy建议的那样,您可以使用if(((mAuth.getCurrentUser() != null)&&(user.isEmailVerified()))) { //do your stuff Log.d(TAG, "onComplete: success. email is verified."); .... } 创建一个二维矩阵。以下是代码如何查找2D方阵:

isEmailVerified();