各位大佬们可以帮忙看一下吗,为什么会内存超限

#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[n][n];
    int num=1;
    for(int i=1;i<2*n;i++){
        if(i<=n){
            if(i%2==0){
                for(int j=0,k=i-1;k>=0;j++,k--)a[j][k]=num++;
            }
            else{
                for(int j=i-1,k=0;j>=0;j--,k++)a[j][k]=num++;
            }
        }
        else{
            if(i%2==0){
                for(int j=i-n,k=n-1;j<n;j++,k--)a[j][k]=num++;
            }
            else{
                for(int j=n-1,k=i-n;j<n;j--,k++)a[j][k]=num++;
            }
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++)cout<<a[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}

😘
全部评论
#include <iostream> using namespace std; int a[1001][1001]; int main() {     int n;     cin >> n;     int x = 1;     int k;     for(int i = 0;i < n;i++)     {         k = 0;         for(int j = i;j >= 0;j--)         {             if(i % 2 == 0)             {                 a[j][k] = x;                 x++;                 k++;             }             else             {                 a[k][j] = x;                 x++;                 k++;             }         }     }     for(int i = n - 1;i > 0;i--)     {         k = n - 1;         for(int j = n - i;j < n;j++)         {             if(i % 2 == 0)             {                 a[j][k] = x;                 x++;                 k--;             }             else             {                 a[k][j] = x;                 x++;                 k--;             }         }     }     for(int i = 0;i < n;i++)     {         for(int j = 0;j < n;j++)             cout << a[i][j] << " ";         cout << endl;     }     return 0; }
点赞 回复 分享
发布于 2023-08-01 19:31 山东

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务