Suchen Sie ein ASCII-Kunstbild in einem Textkörper mit einer gewissen Toleranz für Fehler

Gibt es Algorithmen, die das folgende ASCII-Art-Bild finden würden?

     +
     +
    +++
  +++++++
  ++   ++
 ++  +  ++
 ++ +++ ++
 ++  +  ++
  ++   ++
  +++++++
    +++

Innerhalb des folgenden Textkörpers?

complete_file_here

              + +    +              ++           +       +++    +     +
 +  ++     +   + ++++    + +       +         +          +  +   +++     +++ +
     +            + +   ++      ++  ++    + ++       +     +      +  +   +
+   ++      +  ++       +          + +       ++        ++  +           +
 ++++++ + +    +   ++  +  +   +   +  ++      +         +                     +
  + +   +      +               +      ++     +  ++            +   +    + +
+++   + ++   +  +            +  +++       + +       ++                     +
  +++++  +      +                            +  + +            +   +  +
 +   +   +              +    +      +            +  +   +      +    +     +
 ++    +              +     +       ++   +          +       +           ++

Ich muss das ASCII-Kunstbild in Gelb hervorheben, das der vollständigen Form entspricht. Siehe das Bild im Anhang:

Ich muss eine Datei suchen, die die grobe Form enthält, aber nicht vollständig eine Reihe von+ kann fehlen). Die Toleranz für ein Vermisstes+ in der Form sollte von Hand eingestellt werden.

Jetzt habe ich zwei 2D-Arrays als Datenarray: [100] [100] und das SlimeTorpedo-Array: [13] [11].

Code für die Erkennung, wie von @kjartan angegeben (3-4 Aufzählungszeichen):

     int match = 0;
     for (int i = 0; i < 100; i++) {
         for (int j = 0; j < 100; j++) {
             //Compare DataArr[i][j] with SlimeTorpedoArr[i][j]
             //Look for "checked" position in the picture ("+"), 
             //which corresponds to a checked position in the 
             //slime torpedo array.
             //match++;
        }
    }

Was wäre eine allgemeine Anleitung, um dieses Problem anzugehen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage