爱睡懒觉的猫猫 2022-03-11 12:38 采纳率: 85.7%
浏览 42
已结题

C++帮我看看代码有什么问题吗


int* Array(int len){
    int *arr=NULL;
    arr=new int [len];
    return arr;
}
int** Reshape(int* vec, int row, int col){
    int **a=NULL,k=0;
    a=new int *[row];
    for(int i=0;i<col;++i){
        a[i]=new int [col];
    }
    for(int i=0;i<row;++i){
        for(int j=0;j<col;++j){
            a[i][j]=vec[k++];
        }
    }
    return a;
}
void FreeArray(int* vec){
    delete[] vec;
}
void FreeMatrix(int** mat, int row){
    for(int i=0;i<row;++i){
        delete[] mat[i];
    }
    delete[] mat;
}

第一个函数是创建一个一维数组,第二个是将原来的一维数组变成row×col的矩阵,第三个是delete一维数组,第四个是delete二维数组
题目已给代码

#ifndef FUNCTION_H
#define FUNCTION_H

int* Array(int);                            
int** Reshape(int*, int, int);  
void FreeArray(int*);
void FreeMatrix(int**, int);

#endif


#include "check.h"
// #include <iostream>
#include <stdio.h>
#include "functions.h"

int main() {
    int* vec = nullptr;
    int len, row, col;
    scanf("%d", &len);  
    vec = Array(len);
    for (int i = 0; i < len; ++i) {
        scanf("%d", vec + i);   
    }
    int** mat = nullptr;
    scanf("%d%d", &row, &col);
    mat = Reshape(vec, row, col);
    for (int i = 0; i < row; ++i) {
        for (int j = 0; j < col; ++j) {
            printf("%d%c", mat[i][j], j == col - 1 ? '\n' : ' ');
        }
    }
    FreeArray(vec);
    FreeMatrix(mat, row);
    return 0;
}

题目测试的时候,输入下面的数据无输出

img

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-03-11 13:11
    关注

    就函数来说没啥问题,至于外面调用逻辑上的问题就没法判断了。你出什么状况了?

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月11日
  • 修改了问题 3月11日
  • 修改了问题 3月11日
  • 修改了问题 3月11日
  • 展开全部

悬赏问题

  • ¥15 asp写PC网站开通了微信支付,扫码付款不能跳转
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊