求助 越界访问了
查看原帖
求助 越界访问了
918032
Axlash楼主2023/1/9 15:56
#include<iostream>
using namespace std;
char cube[6][8]={"..+---+",
                 "./   /|",
                 "+---+ |",
                 "|   | +",
                 "|   |/.",
                 "+---+.."};
char map[500][500];
void draw(int x,int y);
int main(){
    int m,n;
    cin>>m>>n;
    int mx=0;
    int my=4*n+2*m+1;
    int** num=new int*[m];
    for(int i=0;i<n;i++){
        int* temp=new int[n]();
        num[i]=temp;
    }
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            cin>>num[i][j];
            int temp=(m-1-i)*2+3*num[i][j]+3;
            mx=mx>temp?mx:temp;
        }
    }
    for(int i=0;i<mx;i++){
        for(int j=0;j<my;j++) map[i][j]='.';
    }
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            for(int k=0;k<num[i][j];k++){
                draw(mx-1-2*(m-1-i)-3*k,2*(m-1-i)+4*j);
            }
        }
    }
    for(int i=0;i<mx;i++){
        for(int j=0;j<my;j++) cout<<map[i][j];
        cout<<endl;
    }
}

void draw(int x,int y){
    for(int i=0;i<6;i++){
        for(int j=0;j<7;j++){
            if(cube[5-i][j]!='.') map[x-i][y+j]=cube[5-i][j];
        }
    }
}

数据点9返回RE 自己试了一些数据 没找到问题

2023/1/9 15:56
加载中...