c++中将二维数组元素变换为逆向存放的实现代码
1、例如,原始二维数组为,逆向存放后变为。试建立一个类REVARR,完成上述工作。
具体要求如下:
(1)私有数据成员
inta[M][N]:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。
(2)公有成员函数
REVARR(intx[M][N]):构造函数,用形参x初始化数据成员a。
voidreverse():按题目要求处理二维数组。
voidprint():按二维数组方式输出a数组值。
(3)在主函数中完成对该类的测试。在程序的开头,定义符号常数M和N的值分别为3和4,表示数组的行数和列数。在主函数中定义数组intdata[M][N],其初值如上。定义一个REVARR类的对象arr,并用数组data初始化该对象的成员a,输出原数组值,然后调用成员函数逆序存放二维数组,最后输出逆序后的二维数组。
#include"stdafx.h" #include#defineM3 #defineN4 usingnamespacestd; classREVARR { public: REVARR(intx[M][N]);//:构造函数,用形参x初始化数据成员a。 voidreverse();//:按题目要求处理二维数组。 voidprint();//:按二维数组方式输出a数组值。 private: inta[M][N];//:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。 }; REVARR::REVARR(intx[M][N]) { inti,j; for(i=0;i >data[i][j]; } } REVARRarr(data); arr.reverse(); arr.print(); system("pause"); return0; }
2、编程:设计一个reverse()函数,实现数组元素逆序存放。在主函数中输入n个整数,调用reverse()函数将它们逆序存放,最后输出逆序后的结果
利用指针
#includevoidreverse(int*a,intn) { inti,j,m,t; m=(n-1)/2; for(i=0;i<=m;i++) {j=n-i-1; t=*(a+i); *(a+i)=*(a+j); *(a+j)=t; } } intmain() { intn,i,b[10]; printf("请输入n的个数:"); scanf("%d",&n); printf("请输入%d个整数:",n); for(i=0;i 到此这篇关于c++中将二维数组元素变换为逆向存放的实现代码的文章就介绍到这了,更多相关c++二维数组元素逆向存放内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!