我需要有人告诉我如何为这个矩阵编写简单易懂的代码
在本练习中,搜索删除行和列:
const int n = 4, m = 4;
int A[n][m] = { { 2, -8, -7, 5 },{ 4, -7, -8, 2 },{ 1, 10, 3, 6 },{ 4, 7, 9, -3 } };
int i, j, r, k, B[n][m];
变量r代表需要删除的行 变量k代表需要删除的列 B [n] [m]代表将在控制台上显示的新矩阵 等待回答 那是我的代码:
const int n = 4, m = 4;
int A[n][m] = { { 2, -8, -7, 5 },
{ 4, -7, -8, 2 },
{ 1, 10, 3, 6 },
{ 4, 7, 9, -3 } };
int i, j, r, k, B[n][m];
cout << "give a value r and k:";
cin >> r >> k;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if ((i < r) && (j < k))
B[i][j] = A[i][j];
if ((i >= r) && (j < k))
B[i][j] = A[i + 1][j];
if ((i < r) && (j >= k))
B[i][j] = A[i][j + 1];
if ((i >= r) && (j >= k))
B[i][j] = A[i + 1][j + 1];
}
}
cout << "Matrix B ={" << endl;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < m - 1; j++)
{
cout.width(3);
cout << B[i][j];
}
cout << endl;
但这里有什么东西混淆了我: if((i&lt; r)&amp;&amp;(j&lt; k)) B [i] [j] = A [i] [j]; if((i&gt; = r)&amp;&amp;(j&lt; k)) B [i] [j] = A [i + 1] [j]; if((i&lt; r)&amp;&amp;(j&gt; = k)) B [i] [j] = A [i] [j + 1]; if((i&gt; = r)&amp;&amp;(j&gt; = k)) B [i] [j] = A [i + 1] [j + 1]; } 这是我经常搞砸的部分 有人能告诉我更简单的方法吗?