Kezdőoldal » Számítástechnika » Programozás » Hogyan módosítsam ezt a...

Hogyan módosítsam ezt a programot, hogy megfeleljen a feladatnak? Egyszerűen nem jövök rá.

Figyelt kérdés

class Program

{

static void Main(string[] args)

{

StreamReader sr = new StreamReader("elso.txt", Encoding.Default);

StreamReader sr2 = new StreamReader("masodik.txt", Encoding.Default);


string elsoszoveg = "";


while (!sr.EndOfStream)

{

elsoszoveg += sr.ReadLine();

}


string masodikszoveg = "";


while (!sr2.EndOfStream)

{

masodikszoveg += sr2.ReadLine();

}


sr.Close();

sr2.Close();


LCS feladat = new LCS(elsoszoveg, masodikszoveg);


Console.WriteLine(LCS.plagium(elsoszoveg, masodikszoveg));

Console.ReadLine();

}

}

}


class LCS

{


string x = "";


public string X

{

get { return x; }

set { x = value; }

}

string y = "";


public string Y

{

get { return y; }

set { y = value; }

}


public LCS(string x, string y)

{

this.x = x;

this.y = y;

}


public static string plagium(string a, string b)

{

string leghosszabbkozos = "";

string temp = "";

int tmp = 0;

int ahossz = a.Length - 1;

int bhossz = b.Length - 1;


char utolso = ' ';


for (int i = 0; i < a.Length; i++)

{


for (int z = 0; z < b.Length; z++)

{

tmp = i;


while (a[tmp] == b[z] && z < b.Length - 1 && tmp < a.Length - 1)

{

temp += b[z];

utolso = b[z + 1];

tmp++;

z++;


}


if (temp.Length > leghosszabbkozos.Length)

{

leghosszabbkozos = temp;

}

temp = "";

}

}


leghosszabbkozos += utolso;

return leghosszabbkozos;

}

}

}



Feladat:

Legyen adott egy T szöveg (text fájlból beolvasandó). Keresse meg azt a legrövidebb X

szót, amelyre igaz, hogy T minden szava részsorozata X-nek. Az X szót a képernyőre írja

ki.


2017. dec. 15. 15:29
1 2
 11/16 anonim ***** válasza:
Nah hülyeséget írtam.. Szóval minden T szó legyen részsorozata X-nek és X legyen a lehető legrövidebb
2017. dec. 15. 23:51
Hasznos számodra ez a válasz?
 12/16 anonim ***** válasza:

Nem vagyok túl produktív fáradtan de most támadt egy 5letem.


Ha van egy függvényünk ami 2 db szóra megmondja mi a legrövidebb részsorozatuk. // Ezt majd meg kell írni


Ekkor előállítjuk T[0] és T[1] legrövidebb részsorozatát a függvénnyel pl A = részsorozat(T[0], [1]). Ezután A = részsorozat(A, T[2])


Most így késő este matekozni jajj... Be kellene látni, hogy részsorozat(részsorozat(T[0], T[1]) T[3]) az egyenlő T1, T2, T3 legrövidebb részsorozatával


Ami sejtésem szerint igaz, csak nem bírok gondolkodni

2017. dec. 16. 00:05
Hasznos számodra ez a válasz?
 13/16 anonim ***** válasza:

Nincs meg? Na akkor most leírom normálisan (ha tudom). Próbáld megérteni ha mérnök akarsz lenni.


Van egy függvényed ami visszaad egy szót ami a 2 paraméterként kapott szó legrövidebb részsorozata.

Ezt később megírjuk nem túl bonyolult csak most képzeld el hogy működik.


Fogod az első két szót és megeteted őket a függvénnyel.

Pl az első két szó: "abb", "bbc"

ebből a függvény csinál egy "abbc" -t


Ezután fogod a harmadik szót: "bbb". És azt amit az előbb kiköpött a függvény: "abbc".


Ezeket is megeteted a fv.-el ami kidobja a "abbbc" szót.


És ezt csinálod amíg van még szó.

2017. dec. 16. 00:22
Hasznos számodra ez a válasz?
 14/16 anonim ***** válasza:

"Csak nehéz úgymond kódba foglalni." Már kb megvan oldva a feladat...


Az általam említett függvénynek egy C++ implementációját már be is linkeltem.. Oké nem érted a c++ -t de csak rá kellene guglizni valami hasonlóra: Implementation of Shortest Common Supersequence in C#

2017. dec. 16. 00:36
Hasznos számodra ez a válasz?
 15/16 anonim ***** válasza:

Csinálsz egy osztályt amiben van valamilyen tároló.


Az osztálynak van olyan metódusa ami beolvassa a file-ból a szavakat és bemásolja a tárolóba.


Van olyan statikus metódus ami 2 sztringet vár és visszatér a szuperszekvenciával.

Ezt linkeltem korábban. Itt minden megvan C++ és java kódban is. A java meg már majdnem C#. [link]


Van egy harmadik fv ami az előző 1-2 válaszomban leírtakat csinálja. Azaz végigmegy a tárolón a egy ciklussal a fenti statikus fv.t használva.


Jóéjt!

2017. dec. 16. 00:54
Hasznos számodra ez a válasz?
 16/16 anonim ***** válasza:
Úgy érzem, hoyg én több energiát fektettem a feladatodba mint te.
2017. dec. 17. 13:09
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!