清理磁盘,看到了几年前的代码
#include<iostream>
using namespace std;
void main()
{
//输入卷积矩阵
int row1 = 3, col1 = 3;
int a[3][3];
//cout<<"输入卷积矩阵的行数:";
//cin>>row1;
//cout<<"输入卷积矩阵的列数:";
//cin>>col1;
cout << "输入卷积矩阵:" << endl;
for (int i = 0; i < row1; i++)
for (int j = 0; j < col1; j++)
{
cin >> a[i][j];
}
//输入卷积核
int row2 = 2, col2 = 2;
int b[2][2];
/*cout<<"输入卷积核矩阵的行数:";
cin>>row2;
cout<<"输入卷积核矩阵的列数:";
cin>>col2; */
cout << "输入卷积核矩阵:" << endl;
for (int i = 0; i < row2; i++)
for (int j = 0; j < col2; j++)
{
cin >> b[i][j];
}
//进行卷积
int c[3][3] = { 0,0,0,0,0,0,0,0,0 };
for (int i = 0; i < row1; i++)
for (int j = 0; j < col1; j++)
{
int p = i, q = j;
for (int k = 0; k < row2 && p < row1; k++, p++)
for (int m = 0; m < col2 && q < col1; m++, q++)
c[i][j] = c[i][j] + a[p][q] * b[k][m];//定义b[0][0]为卷积中心
}
for (int i = 0; i < row1; i++)
{
for (int j = 0; j < col1; j++)
{
cout << c[i][j] << " ";
}
cout << endl;
}
}