- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- hcl: MS Office365 Linuxon
- VoidXs: Tényleg minden játék optimalizálatlan?
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Fűzzük össze a szavakat :)
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- Hieronymus: Három júniusi képem
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
zuzu000
őstag
-
zuzu000
őstag
Sziasztok!
Blockmapet (amit wolf3d és doom is használt), hogy lehetne legkönnyebben C#-ba implementálni? Mondjuk maga a pálya 32*32-es, és egy block 8*8-as. Ez lenne a collision detektálás alapja, a játékban amit csinálok (suli beadandó)
-
zuzu000
őstag
Igen, az a baj vele, hogy nem elég egyszerre két szóra nézni, hanem a T szöveg összesére kell egyszerre. Ha két szavanként nézzük, akkor közelítő megoldást tudunk kapni, de nem az lesz a legrövidebb. De arra se tudtam megírni a kódot. Az is baj, hogy nem egyértelmű.
pl: x = ac y = ab
most akkor melyik lesz a közös legrövidebb szó, melynek x és y is részsorozata? abc, vagy acb? -
zuzu000
őstag
válasz
Jester01 #6080 üzenetére
Igaz, igaz, ott a pont! Így már megy, köszi
Szerk.: ez még mindig a beadandó feladatomhoz kell, és tegnap utánaolvasva kiderült, hogy a tanár nem gondolta át egészen. A feladat az, hogy adott egy T szöveg. Keressünk meg azt a legrövidebb X szót, melyre igaz, hogy T minden szava részsorozata X-nek. Részsorozat az, hogyha a karaktereinek törlésével előállítható, a sorrendet figyelembe véve.
Pl: A = "abba" B = "aa", akkor B részsorozata A-nak.
Ahogy néztem ez lenne a Shortest Common Supersequence, amire jelenleg nincs olyan kód (n szavú szövegre), mely ésszerű időn belül lefutna. Ti mit tudtok erről? -
zuzu000
őstag
válasz
Jester01 #6078 üzenetére
De ez 3-at adna vissza b-re, nem? Azt akartam, hogy maximum hányszor fordul elő, tehát ha 'a' már volt az első szóban, és a másodikban is csak egyszer van, akkor ne növelje az értéket. Ha 'b' egyszer van az első szóban és 2x a másodikban, akkor 2 legyen a mimennyi megfelelő eleme. Vagyis csak akkor növelje a mimennyi[i2]-t, ha többet talál a következő szóban, mint amennyi már eddig van.
-
zuzu000
őstag
static int[] MibőlMennyi(string[] szavak, char[] karakterek)
{
int[] mimennyi = new int[karakterek.Length];
for (int i = 0; i < szavak.Length; i++)
{
for (int i2 = 0; i2 < karakterek.Length; i2++)
{
if ((szavak[i].Count(x => x == karakterek[i2]) > mimennyi[i2]))
mimennyi[i2]++;
}
}
return mimennyi;
}szavak[0] = "abcd"
szavak[1] = "abb"
karakterek = a,b,c,d
Meg szeretném számolni, hogy miből hány darab van, és egy int[] tömbbe betenni a mennyiségeket. De valamiért a mimennyi[] így néz ki : 1,1,1,1,0,0,0,.. stb.
Tehát mintha minden karakterből csak egyet talált volna, ami szavak[0]-ra jó is, de b-ből kettő van szavak[1]-ben. -
zuzu000
őstag
Bár tudnám, miről beszéltek
Megint kéne egy kis segítség, egyszerűen nem tudok rájönni. Csak rávezetés kéne, mivel nekem kéne megírnom. A lényeg, hogy tegyük fel, van két szó. Az egyik szó részsorozata a másiknak, ha a másik karaktereinek törlésével előállítható. Pl: x = aa , y = abba, ilyenkor x részsorozata y-nak. Az a feladat, hogy van egy szöveg és elő kell állítani a lehető legrövidebb szót, hogy a szöveg összes szava részsorozata legyen annak a szónak.
pl a szövegben ez van: "aba abba aab", ilyenkor a legrövidebb szó, melynek minden szó részsorozata:
aabba (ha nem nézem félre).
Erre írtam a metódust, ami kigyűjti egy char tömbbe azokat a betűket, amik nincsenek benne, és a main-ben pedig a megfelelő helyre beillesztem.
static char[] MikHianyoznak(string szo, string x)
{
char[] hianyzik = new char[szo.Length];
for (int i = 0; i < szo.Length; i++)
{
char s = szo[i];
if (x.IndexOf(s) == -1)
hianyzik[i] = s;
else
x = x.Substring(x.IndexOf(s)+1);
}
return hianyzik;
}Így néz ki. A hiba ebben a példában az aab-nél jön elő. Az első a-t megtalálja, a másodikat is, de az utána lévő b-t már nem, mivel az x ilyenkor már üres a substring miatt.
Lehetőleg ezt szeretném módosítani valahogy. Vagy túl egyszerűen gondolkozom és a megoldás ennél sokkal bonyolultabb? -
zuzu000
őstag
Huh, köszi, bár ilyet még nem tanultunk, meg nem is nagyon értem, mi történik benne, szóval nem tenném bele. (beadandó, és lehet, hogy belekérdeznek)
For-ral hogy gondoltad? while-lal próbáltam, de valamiért nem akart működni.
int hely = -1;
int temp =0;
while (hely != -1)
{
if (array [temp] != '\0')
hely = temp;
temp++;
}
De valamiért bele se akart menni a ciklusba, nem értem, mi baja.A \0 meg érdekes, mert kipróbáltam.
string y = "abba";
y = y.Insert(1, '\0'.ToString());
Console.WriteLine(y);
"a bba" -
zuzu000
őstag
Char tömbben hogy keresem meg az első nem \0 elem indexét? Tehát ami valamilyen karaktert jelöl, nem üres. Illetve a \0 space-t jelöl? Vagyis ha ezt beillesztem egy string-be, akkor ott szóköz lesz?
Szerk.: kipróbáltam, \0 = szóköz
-
zuzu000
őstag
válasz
Peter Kiss #6015 üzenetére
Igen, vele már jó barátságot kötöttem.
De itt egy újabb kérdés.
string[] szavak-ban vannak szavak, pl szavak[0] = ab
na most, hogy lehet megnézni, hogy a szavak[0]-nak mi az első karaktere, tehát az a-t hogy lehetne előhozni?szerk: szerintem sikerült, létrehoztam egy ideiglenes string-et, amibe beletettem szavak[0]-t, ennek már lehet karakterenként nézni!
-
zuzu000
őstag
válasz
Peter Kiss #6012 üzenetére
Köszönöm! Ebben a félévben kezdtem, még nem jönnek rögtön ezek a megoldások
-
zuzu000
őstag
Sziasztok!
Insert-tel hogy lehet karaktert beilleszteni?
van egy char[] táblázatom és egy string x = aba szavam.
x = x.Insert(2, char[2]);
ez nem működik, mivel string-et kér második argumentumnak.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- SZÉP Lenovo ThinkPad P15 G2 Tervező Laptop -75% 15,6" i9-11950H 64/2TB RTX A4000 8GB UHD OLED
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Eladó Apple MacBook Pro 13" A1706 (Late 2017, Silver - EMC 3163)
- Amazfit GTR 2 Classic okosóra dobozában töltőkábellel
- Mac mini M1 chip 8 magos CPU-val, 8 magos GPU-val
- Apple iPhone 14 Pro 128GB Kártyafüggetlen, 1Év Garanciával
- AKCIÓ! MSI Z790 i5 14600KF 64GB DDR5 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- FÉL ÁR ALATT! Lian Li UNI FAN SL120 RGB 1db-os és 3db-os ventilátor szett garanciával
- BESZÁMÍTÁS! Gigabyte G5 KC Gamer notebook - i5 10500H 16GB DDR4 512GB SSD RTX 3060 6GB WIN10
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest