|
发表于 2015-11-7 19:10:41
|
显示全部楼层
- #include <iostream>
- using namespace std;
- int main()
- {
- int n=0;
- cout<<"请输入一个整数N,以便生成N*N的数字矩阵"<<endl;
- cin>>n;
-
-
- if (n>100 || n<1)
- {
- cout<<"请输入1-100之间的数字:"<<endl;
- system("pause");
- return -1;
- }
- //动态生成n*n数组并写入数据
- int *p=new int[n*n];
- for (int i=0;i<n;i++)
- {
- for (int j=0;j<n;j++)
- {
- *(p+i*n+j)=j+1;//指针循环推进并写入数据
- }
- }
- cout <<"生成的矩阵如下:"<<endl<<endl;
- //其实在上一个循环就可以显示原始数据数组,为了看得明白,再循环一次
- for (int i=0;i<n;i++)
- {
- for (int j=0;j<n;j++)
- {
- cout <<"\t"<<*(p+j*n+j);
- }
- cout<<endl;
- }
- cout<<endl<<endl<<"转置后的矩阵如下:"<<endl<<endl;
- for (int i=0;i<n;i++)
- {
- for (int j=0;j<n;j++)
- {
- //这个和上一个循环只有一句代码不同,就是最后的j和i就能转置矩阵
- cout <<"\t"<<*(p+j*n+i);
- }
- cout<<endl;
- }
- delete[] p;
- system("pause");
- return 0;
- }
复制代码
|
评分
-
查看全部评分
|