Zdravím potřeboval bych dokončit tento program na výpočet levenshteinovy vzdálenosti. Je skoro hotový, jen by mělo být zapotřebí načíst dva stringy. To se mi ovšem nedaří. Děkuju za pomoc.
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
int findMin(int a, int b, int c) //Finding minimum of three values
{
int minimum = a;
if(b < minimum)
{
minimum = b;
}
if(c < minimum)
{
minimum = c;
}
return minimum;
}
void levenshteinDistance(string pattern, string transform)
{
int rows, bars, cost;
int **Matrix;
/*Dynamic int array*/
rows = transform.length() + 1;
bars = pattern.length() + 1;
Matrix = new int* [rows];
for(int i = 0; i < rows; i++)
{
Matrix[i] = new int [bars];
}
/*Setting up Array*/
for(int i = 0; i < rows; i++)
{
Matrix[i][0] = i;
}
for(int j = 0; j < bars; j++)
{
Matrix[0][j] = j;
}
/*Levenshtein Matrix*/
for(int i = 1; i < rows; i++)
{
for(int j = 1; j < bars; j++)
{
if(transform[i-1] == pattern[j-1])
{
cost = 0;
}
else
{
cost = 1;
}
Matrix[i][j] = findMin(Matrix[i-1][j]+1, Matrix[i][j-1]+1, Matrix[i-1][j-1]+cost);
}
}
}