2D 配列を 1D に変換しようとしています。私は C/C++ に非常に慣れていませんが、2D 配列を 1D に変換する方法を学ぶことは非常に重要だと思います。だからここで私はこの問題に出くわしています。
これまでの私のコードは http://ideone.com/zvjKwPです
#include<iostream>
using namespace std;
int main()
{
int n=0,m=0; // 2D array nRow, nCol
int a[n][m];
int i,j; // цикъл въвеждане 2D
int q,p,t; // for 2D=>1D
int b[100];
int r; // for cout
cout<<"Enter the array's number of rows and columns: ";
cin>>n>>m;
// entering values for the 2D array
for (i = 0;i<=n;i++)
{
for (j = 0;j<=m;j++)
{
cout<<"a["<<i<<"]["<<j<<"]="<<endl;
cin>>a[i][j];
cin.ignore();
}
}
// Most likely the failzone IMO
for (q = 0;q<=i;q++)
{
for (t = 0;t<=i*j+j;t++)
{
b[t] = a[i][j];
}
}
// attempting to print the 1D values
cout<<"The values in the array are"<<"\n";
for(r=0;r<=t;r++)
{
cout<<"b["<<r<<"] = "<<b[r]<<endl;
}
cin.get();
return 0;
}
失敗したと思うところにコメントを書きました。
また、1D に入る数値を、値 ^2 が 50 より大きい数値に制限する必要があります。ただし、2D=>1D の変換で問題を解決する必要があります。