Cóż ... może metoda nie jest najszybsza ale zawsze jakas..
Założmy, że masz już wczytane oba macierze to tablicy dwuwymiarowej np takiej:
<font color="green">PS: nie napisałeś w czym programujesz, będe korzystał z języka Pascal</span>
a: array of array of Integer;
I niech będzie to nasza "podmacierz". Tak samo wczytujesz tą większą macierz (max 5x5) .. nazwijmy ją b
b: array of array of Integer;
Najprościej chyba (co jak już wspomniałem nie znaczy najbardziej optymalnie) .. jechać po elementach macierzy b.. Najpierw zaczynając od wierszy - robimy zagnieżdżoną pętle FOR.
for i := 0 to IlośćWierszyW_B
begin
for j := 0 to IloscKolumnW_B
begin
... polecenia...
if z = true then break;
end;
i , j to zmienne typu Integer, będą nam służyły jako liczniki ... Z niech będzie Boolean . jeśli ustawi się na "TRUE" to znak, że znalazł podmacierz i nie ma już dalej szukać...
Teraz samo szukanie , czyli ...polecenia...
Można zrobić na przykład tak: element a[1][1] <font color="blue">(będę operował przez 1 jako pierwszy wiersz / kolumna - jeśli bedzie miał ustawione na 0, to sobie zmienisz)</span> jest wysunięty najbardziej u "góry" i na "lewo" .. prawda? - czyli można pierw szukać jego... - teraz sprawdzasz po prostu czy element b[i][j] = a[1][1] .. jeśli nie - to następny element macierzy b ... jeśli tak:
- to przechodzimy do nastepnego kroku.. tu już musimy zrobić następną pętelke - pojechać po wszystkich kolumnach aż do końca wiersza pierwszego w macierzy a .. jeśli choć jeden element się nie zgadza - instrukcja Break .. jeśli do końca się wszystkie zgodzą - musisz przejść do następnego wiersza i sprawdzać tak samo (oczywiście wcześniej należało by zapisać numer kolumny, której element zgadza się z elementem a[1][1]) .... Tutraj tak samo.. aż dojdziesz do końca - i mamy gotowe.. teraz tylko z := TRUE, aby więcej nie szukał.