关于编程的问题,代码不知道有什么问题,麻烦大神。。
程序代码:
#include<iostream> using namespace std; void main() { int n; cin>>n; int *r=new int[(2*n)*(2*n)]; for(int i=0;i<n;i++) { int j=i; for(int w=0;w<2*n-2*i-1;w++) { if(j==i || j==2*(n-i-1)) {for(int m=i;m<2*n-i-1;m++) {r[j*m]=i+1; cout<<"r["<<j<<"*"<<m<<"]="<<i+1<<" ";} cout<<endl;} else { r[j*(2*n-2*i-1)]=i+1; cout<<"r["<<j<<"*"<<2*n-2*i-1<<"]="<<i+1<<" "; r[j*i]=i+1; cout<<"r["<<j<<"*"<<i<<"]="<<i+1<<" "; cout<<endl; } j++; } } r[2*2]=1;//加上这句话就能知道有好几个数据是共用同一空间。 for(int t=0;t<2*n-1;t++) { for(int p=0;p<2*n-1;p++) cout<<r[t*p]<<" "; cout<<endl; } cin>>n; }大神们。。帮忙看下吧,谢谢啦,
4、由键盘输入一个自然数N(1≤N≤9),要求程序在屏幕上输出如下图形。
N=1时: N=3时: N=4时:
1 11111 1111111
12221 1222221
12321 1233321
12221 1234321
11111 1233321
1222221
1111111
注:应保证N在图形中只出现一次,且在中心。
这个我写完了之后发现有些数据是共用同一内存空间。
麻烦高手指点一下吧