c/c++语言开发共享c++中将二维数组元素变换为逆向存放的实现代码

1、例如,原始二维数组为,逆向存放后变为。试建立一个类revarr,完成上述工作。具体要求如下:(1)私有数据成员int a[m][n]:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。(2)

1、例如,原始二维数组为,逆向存放后变为。试建立一个类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<iostream>  #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++)  	  {  		  cout<<a[i][j]<<" ";  	  }  	  cout<<endl;  	}  	cout<<endl;  }  int main()  {  	int data[m][n];  	int i,j;  	cout <<"请输入3行4列数:n";  	for(i=0;i<m;i++)  	{  	  for(j=0;j<n;j++)  	  {  		  cin>>data[i][j];  	  }	    	}  	revarr arr(data);  	arr.reverse();  	arr.print();  	system("pause");  	return 0;  }

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

利用指针

  #include<stdio.h>  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("%dt",b[i]);  	printf("n");  	return 0;  }

到此这篇关于c++中将二维数组元素变换为逆向存放的实现代码的文章就介绍到这了,更多相关c++二维数组元素逆向存放内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/596542.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐