現在、迷路アルゴリズムを解こうとしていますが、ユーザーから " " 文字を取得できないように見えるため、開始しています。ユーザーがサイズを入力するまで迷路のサイズがわからないので、2次元配列の char** セットアップがあります。" " の取得に cin を使用できないことがわかったので、cin.get または cin.getline のいずれかを使用することを考えましたが、それらを適切に使用できないようです。これは私のコードの問題のあるセクションです:
int main(){
int size_x;
int size_y;
char** array;
cin >> size_x >> size_y;
array = new char* [size_y];
for(int i=0; i < size_y; i++)
array[i] = new char[size_x];
//This part seems to not work properly
for(int i = 0; i < size_y; i++){
for(int k = 0; k < size_x; k++){
array[i][k] = cin.get();
}
}
1 文字入力した後、残りの文字は何も考慮されず、プログラムはこの残りの部分をスキップします。これは、size_x に 1 を入力し、size_y に 4 を入力し、後で入力に 1234 を入力した場合の出力です。
1
2
3
done
私はおそらく本当にばかげたことをしているだけですが、それを理解することはできません. どんな助けでも大歓迎です。