• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

c++中将二维数组元素变换为逆向存放的实现代码

c++ 搞代码 4年前 (2022-01-06) 19次浏览 已收录 0个评论

编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推

1、例如,原始二来源gaodai#ma#com搞@代~码网维数组为,逆向存放后变为。试建立一个类REVARR,完成上述工作。

具体要求如下:

(1)私有数据成员

int a[M][N]:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。

(2)公有成员函数

REVARR(int x[M][N]):构造函数,用形参x初始化数据成员a。
void reverse():按题目要求处理二维数组。
void print():按二维数组方式输出a数组值。

(3)在主函数中完成对该类的测试。在程序的开头,定义符号常数M和N的值分别为3和4,表示数组的行数和列数。在主函数中定义数组int data[M][N],其初值如上。定义一个REVARR类的对象arr,并用数组data初始化该对象的成员a,输出原数组值,然后调用成员函数逆序存放二维数组,最后输出逆序后的二维数组。

 #include "stdafx.h" #include #define M 3 #define N 4 using namespace std; class REVARR { public: REVARR(int x[M][N]);//:构造函数,用形参x初始化数据成员a。 void reverse();//:按题目要求处理二维数组。 void print();//:按二维数组方式输出a数组值。 private: int a[M][N];//:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。 }; REVARR::REVARR(int x[M][N]) { int i,j; for(i=0;i<M;i++) { for(j=0;j<N;j++) { a[i][j]=x[i][j]; } } } void REVARR::reverse() { int t,i,j; for(i=0;i<M-1;i++) { for(j=0;j<N;j++) { t = a[i][j]; a[i][j] = a[M-i-1][N-j-1]; a[M-i-1][N-j-1] = t; } } } void REVARR::print() { int i,j; cout<<"转换后\n"; for(i=0;i<M;i++) { for(j=0;j<N;j++) { coutdata[i][j]; } } REVARR arr(data); arr.reverse(); arr.print(); system("pause"); return 0; }

2、编程:设计一个reverse()函数,实现数组元素逆序存放。在主函数中输入n个整数,调用reverse()函数将它们逆序存放,最后输出逆序后的结果

利用指针

 #include void reverse(int *a,int n) { int i,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; } } int main() { int n,i,b[10]; printf("请输入n的个数:"); scanf("%d",&n); printf("请输入%d个整数:",n); for(i=0;i<n;i++) scanf("%d",&b[i]); reverse(b,n); printf("%d个数组逆序后的结果:\n",n); for(i=0;i<n;i++) printf("%d\t",b[i]); printf("\n"); return 0; }

到此这篇关于c++中将二维数组元素变换为逆向存放的实现代码的文章就介绍到这了,更多相关c++二维数组元素逆向存放内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是c++中将二维数组元素变换为逆向存放的实现代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:c++中将二维数组元素变换为逆向存放的实现代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址