二维矩阵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;
}