Dokončení programu

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod ObilL 29. 11. 2009 11:19

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);
}
}
}
ObilL
Kolemjdoucí

Odeslat příspěvekod Nargon 29. 11. 2009 17:47

Mno a v cem je jako problem?

Ten kod nehodlam prohlizec, takhle je hrozne neprehlednej. Priste pouzij tag code.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků