关于c语言二维矩阵的问题

二维矩阵A和B作为输入参数,传入函数ADD,ADD完成A+B的运算,结果放在二维矩阵C中,SELECTMIN负责找出C中最小值元素,要求输出C和C中最小元素的值,要求不能使用全局变量

/*
二维矩阵A和B作为输入参数,传入函数ADD,ADD完成A+B的运算,结果放在二维矩阵C中,
SELECTMIN负责找出C中最小值元素,要求输出C和C中最小元素的值,要求不能使用全局变量
*/
#include<iostream>
using namespace std;

void ADD(int *A,int *B,int *C,int n,int m)
{
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            C[i*m+j] = A[i*m+j] + B[i*m+j];
}

int SELECTMIN(int *C,int n,int m)
{
    int nM = C[0];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            if(C[i*m+j] < nM)
                nM = C[i*m+j];
        }
    return nM;
}

int main()
{
    int n,m;
    cin>>n>>m;
    int *A = new int[n*m];
    int *B = new int[n*m];
    int *C = new int[n*m];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>A[i*m+j];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>B[i*m+j];
    ADD(A,B,C,n,m);
    int nMin = SELECTMIN(C,n,m);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
            cout<<C[i*m+j]<<" ";
        cout<<endl;
    }
    cout<<"最小值:"<<nMin<<endl;

    delete A;
    delete B;
    delete C;
}
#include <iostream>
#include <vector>

using namespace std;

void ADD(vector<vector<int>>& A, vector<vector<int>>& B, vector<vector<int>>& C) {
    int n = A.size(), m = A[0].size();
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            C[i][j] = A[i][j] + B[i][j];
        }
    }
}

int SELECTMIN(vector<vector<int>>& C) {
    int n = C.size(), m = C[0].size();
    int min_val = C[0][0];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            if (C[i][j] < min_val) {
                min_val = C[i][j];
            }
        }
    }
    return min_val;
}

int main() {
    // 输入
    int n, m;
    cin >> n >> m;
    vector<vector<int>> A(n, vector<int>(m));
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> A[i][j];
        }
    }
    vector<vector<int>> B(n, vector<int>(m));
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> B[i][j];
        }
    }

    // 计算
    vector<vector<int>> C(n, vector<int>(m));
    ADD(A, B, C);

    // 输出
    cout << "Matrix C:" << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cout << C[i][j] << " ";
        }
        cout << endl;
    }
    int min_val = SELECTMIN(C);
    cout << "Minimum value in matrix C: " << min_val << endl;

    return 0;
}