Создание матрицы множественных расстояний с использованием алгоритма Левенштейна на C ++ - PullRequest
0 голосов
/ 24 мая 2018

Я занимаюсь разработкой программы анализа строк.Я сделал алгоритм расстояния levensthein, но он применим только для двух строк.Теперь я хочу запустить больше строк, чем две одновременно.Например, из текстового файла:

S1 : "0123412315",
S2 : "324153243",
S3 : "12354244",
S[n] : "......."

Итак, во-первых, он должен вычислить между S1 и S2, затем S1 и S3, S2 и S3 и так далее, соответственно.У вас есть идеи по этому поводу?Я имею в виду, я не хочу никакого кода.Дайте мне знать псевдокод или реализацию этой части.Заранее спасибо.

1 Ответ

0 голосов
/ 26 мая 2018
int main(){
    int dp[3][3];
    string A,B;
    string array[] = {"axd","byd","axd"};
    for (int i = 0 ; i < 3; i++){
        A = array[i];

        for (int j = 0; j<3; j++){
            B = array [j];
            if(A[i] == B[j]){
                dp[i][j] =1;
                cout << dp[i][j] << endl;
            }else
                dp[i][j] = 0;
        }
    }
    for(int i = 0; i<3; i++){
        for(int j = 0; j<3; j++){
            //cout << dp[i][j];
        }

        //cout << endl;
    }
    return 0;
}

Я вытащу их из текстового файла, как строковый массив, как показано ниже, и позволю им упорядочить.Во-первых, A - это axd, B - это byd, A - это byd, B - это axd, соответственно.Затем я положу их результаты в матрицу, используя алгоритмы.Я прав ?

...