我有以下任务:
用户输入了一个数组 - A [m] [n];将此数组转换为新数组,仅保留奇数行,每个元素应分成两行。
我知道它很简单,但无法弄清楚如何去做,所以请伸出援助之手。
附:数组应该是指针
P.S.S.该计划应如下工作。
如果为exaple输入了这个数组:
1 2 3 4 5
5 4 3 2 1
9 2 3 5 1
2 3 4 6 7
然后应该输出这个
0.5 1 1.5 2 2.5
4.5 1 1.5 2.5 0.5
所以,我没有指针就做了,但是使用指针重新制作它有问题。他们将如何更改以下代码?
#include <iostream>
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
int matrix[m][n];
for(int x=0; x<m; x++)
{
for(int y=0; y<n; y++)
{
cin>>matrix[x][y];
}
}
for(int x=0; x<m; x=x+2)
{
for(int y=0; y<n; y++)
{
cout<<(matrix[x][y])/2<<" ";
}
cout<<endl;
}
return 0;
}
答案 0 :(得分:0)
感谢您付出一些努力!
关于你的“......有问题要用指针重新制作”
改变
matrix[x][y]
至*(*(matrix+x)+y)
此外,由于您需要小数值,请使用2.0
进行分割
cout << *(*(matrix+x)+y)/2.0 << " " ;
有关这些表示的详细信息,请参阅一本好书或在SO
上搜索