Как проверить, пуст ли элемент трехмерного массива? - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть заполненный 3d-массив и функция, которая печатает выбранную строку каждого 2-мерного массива, но если выбранная строка (начиная с первого массива) пуста, она должна вывести «row empty», и я не могу понять, как проверить, пусто ли оно. Я попробовал следующее:

void printrow(int X[][4][5], int row){
    if(X[0][row][0]==0){
        cout <<"row empty";
    }
    else{
        for(int i=0; i < 4; i++){
            for(int j=0; j < 5;j++){
                cout << X[i][row][j] << " ";
             }
        }
        cout << endl;  
    }
}

Может быть, я должен использовать указатель? Если да, то как это сделать?

1 Ответ

1 голос
/ 20 апреля 2020

Вы можете использовать std :: необязательно

void printrow(std::array<std::array<std::array<std::optional<int>, 3>, 4>, 5> X, int row){
    if(!X[0][row][0].has_value()){
        cout <<"row empty";
    }
    else{
        for(int i=0; i < 4; i++){
            for(int j=0; j < 5;j++){
                cout << X[i][row][j].value() << " ";
             }
        }
        cout << endl;  
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...