- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen széket vegyek?
- Milyen notebookot vegyek?
- MILC felhasználók szakmai topikja
- Vezetékes FEJhallgatók
- Nagyon nem szokványos módon ment tönkre egy ASML gép Kínában…
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Számítógépház-választás 2025: airflow, kompatibilitás és hibák
- Philips LCD és LED TV-k
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
Ú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!
- Eredeti játékok OFF topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen autót vegyek?
- Miskolc és környéke adok-veszek-beszélgetek
- Battlefield 6
- Kuponkunyeráló
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Formula-1
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Milyen széket vegyek?
- További aktív témák...
- Fujifilm 33/1.4 R LM WR
- Crucial P310 1TB M.2 2230 NVME PCI-E 4.0 x4 - Új, bontatlan - 7100-6000 MBs - Eladó!
- Használt NVME M2 SSD-k - 1000 GB tól 2048GB-ig Samsung Hynix Intel Kioxia WD Micron Toshiba
- WD Black SN770M 2TB M.2 2230 NVME PCI-E 4.0 x4 - Új - 5150-4850 MBs - Eladó!
- Gamer PC 2025, Komplett gép, Garanciális alkatrészek, BESZÁMÍTÁS
- Ventilátorok 120/140mm és tápkábel modding kitűnő árakon!
- Telenor 5G Indoor WiFi Router (FA7550) + töltő
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
- Designer 4K Monitor - BenQ PD-3200-U
- Samsung Galaxy Z Fold6 ,Navy ,120 Hz AMOLED dupla kijelző, Snapdragon 8 Gen 3,12/512 GB,2027. 07. 11
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest





