C++面向对象编程题 第33题

33.建立一个类 PHALANX,生成并显示一个折叠方阵。折叠方阵如下图所示。折叠方阵的生成过程为:起始数置于方阵的左上角,然后从起始数开始递增,依次折叠构成方阵。
实例

具体要求如下:

  1. 私有数据成员
  • int (*p)[20]:指向按照折叠规律存放方阵的二维整型数组。
  • int startnum:折叠方阵的起始数。
  • int n:存放方针的层数。
  1. 公有成员函数
  • PHALANX (int s, int m ):构造函数,初始化成员数据。
  • void process():生成起始数为 startnum 的 n 行方阵。
  • void print():输出折叠方阵。
  • ~ PHALANX( ):析构函数。
  1. 在主程序中对该类进行测试。
#include
#include
using namespace std;
class PHALANX{int (*p)[20],startnum,n;
public:PHALANX(int s,int m):startnum(s),n(m){p = new int[m][20];}void process(){for(int i=0;i<n;i++){int k=i*i+startnum;for(int j=0;j<=i;j++){p[j][i]=k++;}for(int j=i-1;j>=0;j--){p[i][j]=k++;}}}//11.28-1/*void process(){for(int i=0;i//11.28-2/*void process(){int index=startnum;for(int i=0;i/*void process(){int k = startnum;for(int i=0;i=0;j--){p[i][j]=k++;}}}*/void print(){for(int i=0;i<n;i++){for(int j=0;j<n;j++){cout<<setw(4)<<p[i][j]<<" ";}cout<<endl;}}~PHALANX(){if(p)delete[]p;}
};
int main(){PHALANX p(5,4);p.process();p.print();return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部