编程将一个二维数组元素变换为逆向存放
2018-03-30 21:45
211 查看
编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推。 例如,原始二维数组为,逆向存放后变为。试建立一个类REVARR,完成上述工作。具体要求如下:(1)私有数据成员int a[M]
:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。(2)公有成员函数REVARR(int x[M]
):构造函数,用形参x初始化数据成员a。void reverse():按题目要求处理二维数组。void print():按二维数组方式输出a数组值。(3)在主函数中完成对该类的测试。在程序的开头,定义符号常数M和N的值分别为3和4,表示数组的行数和列数。在主函数中定义数组int data[M]
,其初值如上。定义一个REVARR类的对象arr,并用数组data初始化该对象的成员a,输出原数组值,然后调用成员函数逆序存放二维数组,最后输出逆序后的二维数组。
:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。(2)公有成员函数REVARR(int x[M]
):构造函数,用形参x初始化数据成员a。void reverse():按题目要求处理二维数组。void print():按二维数组方式输出a数组值。(3)在主函数中完成对该类的测试。在程序的开头,定义符号常数M和N的值分别为3和4,表示数组的行数和列数。在主函数中定义数组int data[M]
,其初值如上。定义一个REVARR类的对象arr,并用数组data初始化该对象的成员a,输出原数组值,然后调用成员函数逆序存放二维数组,最后输出逆序后的二维数组。
#include <iostream> #include <iomanip> #define M 3 #define N 4 using namespace std; class REVARR { private: int a[M] ; public: REVARR(int x[M] ); void reverse(); void print(); }; REVARR::REVARR(int x[M] ) { int i, j; for (i = 0; i < 3; i++) for (j = 0; j < 4; 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; for (i = 0; i <3; i++) { for (j = 0; j < 4; j++) cout << setiosflags(ios::left) << setw(3) << a[i][j]; cout << endl; } } int main() { int data[4][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; REVARR arr(data); cout << "初始数组:" << endl; arr.print(); arr.reverse(); cout << "逆数组:" << endl; arr.print(); system("pause"); return 0; }
相关文章推荐
- 编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推。
- 编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推。
- 4.编程打印一个二维数组中所有元素的和,并打印最大值,最小值(以及它们所在的行号和列号)
- 找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没鞍点),打印出有关信息
- 例 6.4 将一个二维数组行和列的元素互换,存到另一个二维数组中。
- 20100127_1 设一维数组V中存有N个整数,试写一个算法,将其中的非零元素移到数组的前面来,连续存放,相对位置不变。
- 将一个二维数组的行和列的元素互换,存到另外一个二维数组中。
- 编程输入一个n×n矩阵中各元素的值,求出两条对角线上的元素之和
- 二分搜索专题2-在有序二维数组中搜索一个元素
- 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。
- 对一个二维数组中的数据排序: 将整个数组中值最小的元素所在行调整为数组第一行, 将除第一行外的行中最小元素所在行调整为第2行, 将除第1,2行外的行中最小值元素所在行调整为第3行,以此类推
- 对一个二维数组中的数据排序,方法如下: 将整个数组中值最小的元素所在行调整为数组第一行, 将除第一行外的行中最小元素所在行调整为第2行, 将除第1,2行外的行中最小值元素所在行调整为第3行,以此类推
- 【C编程】对一个二维数组中的数据排序
- 将一个二维数组的行和列的元素互换,存到另外一个二维数组中
- Java编程:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 请实现一个队列,既可以存放整数,又可以存放字符串。简单的说,队列是一种数据结构,按照先进先出的顺序管理进、出队列的元素
- 编写一个C#程序,要求从键盘输入10个数存放在数组中,分别求出最大数和最小数存放在第一第二个元素里
- 开辟一个二维数组,有10*8个元素,用随机数填充,按照下面的方法用函数实现查找一个数是否存在
- 定一个数组,数组中的每个元素是一个二维数组。
- 编程之美 - 写一个函数,返回数组中所有元素被第一个元素除的结果