現在、2次元配列を作成するために2つの関数を使用しているコードを、2D配列を作成する1つの関数に変換する必要があります。C++、1D Arrayを2D配列に変換する
配列の内容は、 'A'から 'Y'(5 * 5サイズの行列が必要なため 'Z'を省略)のアルファベットです。注:私はベクトルまたはポインタを使用することはできません。
以下のコードは機能しますが、それを1つの関数に変換する必要があります。これはかなり問題があります。私は研究していますが、十分な解を見つけることができず、C++の初心者です。
// Fills 4-Square Matrix 1 with Alphabet (1D Array)
void fill4Square1(char* FourSquare_1_Matrix)
{
int n;
for (n = 0; n < 25; n++)
FourSquare_1_Matrix[n] = 'A' + n;
}
// Fills 4-Square Matrix 1 with Alphabet (2D Array)
void fill4Square1_1()
{
char FourSquare_1_Matrix[5][5];
fill4Square1((char*)FourSquare_1_Matrix); //Function Call for 1D Array
for (int row = 0; row < 5; row++) //For Loop puts 1D array into 2D Array
{
for (int col = 0; col < 5; col++)
cout << FourSquare_1_Matrix[row][col] << " ";
cout << "\n";
}
}
私は以下のコードを書いていますが、1Dアレイの内容を2D配列に取り込むことはできません。 2D配列はランダムな文字で埋められています。 Program OUTPUT
void PlayFairMatrix1()
{
int i = 0;
char Matrix[25] = { {0} };
char PlayFairMatrix[5][5] = { {0} };
int n;
//1D Matrix
for (i = 0; i < 25; i++)
{
Matrix[i] = 'A' + i;
cout << Matrix[i];
}
cout << "\n";
cout << " " << endl;
////2D Matrix
for (int row = 0; row < 5; row++)
{
for (int col = 0; col < 5; col++)
{
PlayFairMatrix[row][col] = Matrix[i];
i++;
}
cout << PlayFairMatrix << " ";
cout << "\n";
}
cout << " " << endl;
}
誰でも正しい方向を教えてください。
に追従し、出力がないとして、あなたは、単にそれを行うことができます影響を受けるようです。 – mplh2008
あなたは私の答えの最後の段落を読んだことがありますか? – lamandy
はい、コードは現在動作しています - ありがとうございます、本当にありがとうございます。 – mplh2008