Răspuns :
// Example program
#include <iostream>
#include <string>
using namespace std;
typedef int matrice[30][30];
bool submatriceEgala(matrice A, matrice B, int M, int iStart, int jStart) {
for(int i = 0; i < M; i++)
for(int j = 0; j < M; j++)
if(A[iStart + i][jStart + j] != B[i][j])
return false;
return true;
}
void citireMatrice(matrice A, int nrLinii) {
for(int i = 0; i < nrLinii; i++)
for(int j = 0; j < nrLinii; j++)
cin >> A[i][j];
}
int main() {
matrice A, B;
int N, M;
cin >> N >> M;
citireMatrice(A, N);
citireMatrice(B, M);
for(int i = 0; i < N - M + 1; i++)
for(int j = 0; j < N - M + 1; j++)
if(submatriceEgala(A, B, M, i, j))
cout << "(" << i << "," << j << ") ";
return 0;
}
#include <iostream>
#include <string>
using namespace std;
typedef int matrice[30][30];
bool submatriceEgala(matrice A, matrice B, int M, int iStart, int jStart) {
for(int i = 0; i < M; i++)
for(int j = 0; j < M; j++)
if(A[iStart + i][jStart + j] != B[i][j])
return false;
return true;
}
void citireMatrice(matrice A, int nrLinii) {
for(int i = 0; i < nrLinii; i++)
for(int j = 0; j < nrLinii; j++)
cin >> A[i][j];
}
int main() {
matrice A, B;
int N, M;
cin >> N >> M;
citireMatrice(A, N);
citireMatrice(B, M);
for(int i = 0; i < N - M + 1; i++)
for(int j = 0; j < N - M + 1; j++)
if(submatriceEgala(A, B, M, i, j))
cout << "(" << i << "," << j << ") ";
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!