Daniel Rieck schrieb am 18 Jul:
> Ich suche ein Programm, das die �hnlichkeit von zwei Strings bewertet,
> am besten in Form einer Prozentangabe...
Du versuchst, die eine Zeichenkette in die andere umzuwandeln, und
z�hlst, wieviel "Arbeit" du dabei verrichtest.
Zum Beispiel kann man drei Operationen definieren:
- Zeichen einf�gen: Kosten A
- Zeichen l�schen: Kosten B
- Zeichen ersetzen: Kosten C
Jetzt berechnest du das Minimum �ber alle M�glichkeiten, die beiden
Zeichenketten ineinander �berzuf�hren.
Das kann man mit dynamischen Programmieren recht einfach
programmieren.
In C++ mit A=B=C=1 sieht das etwa so aus:
#include
#include
int min(int a, int b) { return ab ? a : b; }
int main(int argc, char **argv) {
char *s1 = argv[1];
char *s2 = argv[2];
int n = strlen(s1);
int m = strlen(s2);
int **C = new int*[n+1];
for (int i=0; i<=n; i++)
C[i] = new int[m+1];
for (int i=0; i<=n; i++)
C[i][0] = i;
for (int i=0; i<=m; i++)
C[0][i] = i;
for (int x=0; x hund / hund = 100%
> hand / hund = 75%
> hund / hunde = 80%
> hund / katze = 0%
-Hubert
|