标题:如何完善程序?!
取消只看楼主
zsy142857
Rank: 1
来 自:上海
等 级:新手上路
帖 子:18
专家分:0
注 册:2017-6-3
结帖率:50%
已结贴  问题点数:12 回复次数:0 
如何完善程序?!
程序作用:输入一个 n1*m1 的矩阵 a,和 n2*m2 的矩阵 b,问 a 中是否存在子矩阵和 b 相等。若存
在,输出所有子矩阵左上角的坐标;若不存在输出“There is no answer”。
#include<iostream>
using namespace std;
const int SIZE = 50;
int n1, m1, n2, m2, a[SIZE][SIZE], b[SIZE][SIZE];
int main()
{
    int i, j, k1, k2;
    bool good, haveAns;
    cin >> n1 >> m1;
    for(i = 1; i <= n1; i++)
        for(j = 1; j <= m1; j++)
            cin >> a[i][j];
    cin >> n2 >> m2;
    for(i = 1; i <= n2; i++)
        for(j = 1; j <= m2; j++)
            cin>>b[i][j];
    haveAns = false;
    for(i = 1; i <= n1 - n2 + 1; i++)
        for(j = 1; j <=m1-m2+1; j++){
            此处填写
            for(k1 = 1; k1 <= n2; k1++)
                for(k2 = 1; k2 <= m2; k2++){
                    if(a[i + k1 - 1][j + k2 - 1] != b[k1][k2])good = false;
                }
            if(good){
            cout << i << ' ' << j << endl;
             此处填写
            }
        }
    if(!haveAns)
        cout << "There is no answer" << endl;
    return 0;
}
真的不知道,求各位来解答一下
搜索更多相关主题的帖子: 矩阵 int SIZE cin for 
2018-08-10 19:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-489140-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.798704 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved