Pomoc s longest common subsequence v C++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc s longest common subsequence v C++ – C / C++ – Fórum – Programujte.comPomoc s longest common subsequence v C++ – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
nikola0
Duch
24. 3. 2016   #1
-
0
-

Ahojte. Potrebovala by som pomocť s programom.

Mám dĺžku LCS - najdlhšej spoločnej podpostupnosti, ale potrebovala by som z toho vytvoriť ešte kód na vytvorenie takejto tabuľky v C++. Vopred ďakujem za pomoc.

http://2.bp.blogspot.com/_Ww38eTLy4VM/TPSPRuuU4yI/AAAAAAAAAMg/L0l66_FXUyc/s1600/LCS.JPG

Tu je moj kód:

/* Dynamické programovanie C/C++ implementácia LCS problému */

#include<iostream>

#include<cstring>

#include<cstdlib>

using namespace std;

void lcs( char *X, char *Y, int m, int n )

{

int L[m+1][n+1];

for (int i=0; i<=m; i++)

{

            for (int j=0; j<=n; j++)

            {

            if (i == 0 || j == 0)

                        L[i][j] = 0;

            else if (X[i-1] == Y[j-1])

                        L[i][j] = L[i-1][j-1] + 1;

            else

                        L[i][j] = max(L[i-1][j], L[i][j-1]);

            }

}

int index = L[m][n];

char lcs[index+1];

lcs[index] = '\0'; // Set the terminating character

int i = m, j = n;

while (i > 0 && j > 0)

{

            if (X[i-1] == Y[j-1])

            {

                        lcs[index-1] = X[i-1];

                        i--; j--; index--;          

            }

            else if (L[i-1][j] > L[i][j-1])

                        i--;

            else

                        j--;

}

cout << "Najdlhšia spoločná podpostupnosť " << X << " a " << Y << " je " << lcs;

}

int main()

{

char X[] = "GANFSKY";

char Y[] = "GNTSX";

int m = strlen(X);

int n = strlen(Y);

lcs(X, Y, m, n);

return 0;

}

Nahlásit jako SPAM
IP: 178.41.30.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 78 hostů

Podobná vlákna

Common Dialog — založil ospaly.stanislav

Pomoc — založil Aikon

Pomoc — založil LordMorpheus

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý