Se citesc de la tastatură două numere N și M, N>=M. Pe urmă se citesc două matrici pătratice de dimensiuni N, respectiv M, conținând numere întregi. Afișați toate pozitiile unde a doua matrice apare în prima matrice. Afișarea se va face pe ecran sub forma unor perechi de forma (linie, coloană). Dacă a doua matrice nu apare în prima matrice, se va afișa textul “Nu apare”.
Spre exemplu dacă se introduce:
5 3
1 0 1 1 1
0 1 0 1 1
1 0 1 1 1
0 1 0 1 1
1 0 1 1 1
0 1 1
1 0 1
0 1 1
se va afișa pe ecran:
(0,1) (2,1)
Răspunsuri la întrebare
Răspuns de
0
// 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;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă