- Gurulunk, WAZE?!
- Austin F.: Intel Iris Xe driver frissítés
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- MasterDeeJay: Kínai DDR5 ajánlható?- Puskill PSK-D5M6400BH-16G
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- gban: Ingyen kellene, de tegnapra
- Mr Dini: Mindent a StreamSharkról!
-
LOGOUT
Új hozzászólás Aktív témák
-
emitter
őstag
az abc-rendezést meg így tudod megoldani:
<pre>
int string_cmp(char *c1, char *c2)
{
return strcmp (c1,c2);
}
...
int main(void)
{
char* tomb[elemszam];
...
qsort (tomb, elemszam, maxhossz*sizeof (char), string_cmp);
...
}
</pre><p>
ahol maxhossz a tomb legnagyobb sztrigjének a hossza
remélem működni fog, mert ezt most hirtelen a szám-rendezősből írtam át</p>
Jester01:
úgy látszik, rokon lelkek vagyunk
a kombinatorikát én is utáltam (meg még utálni is fogom), a rekurziót meg még nem használtam annyiszor, h ráérezzek a jelentőségére, egyelőre elég nehéz átlátni nekem egy rekurzív függvényt
[Szerkesztve] -
Jester01
veterán
Először rendezd abc sorrendbe a beadott szót. Ez gondolom menni fog.
Utána csinálj egy tömböt amiben jelzed, ha egy betűt már felhasználtál.
Alapesetben ez legyen csupa igaz érték (true/1).
Egy másik tömbben pedig a permutált indexeket gyűjtöd, ez alapesetben egyesével nő.
Rögvest írd is ki, mert ez lesz a legelső permutáció.
A következőt pedig úgy kapod meg, hogy az utolsó karaktertől elindulsz és mindig megkeresed a következő fel nem használt betűt. Ha már nincs ilyen, akkor lépsz eggyel visszább (ha nem tudsz, akkor kész vagy). Amint találtál egyet, ismét elindulsz előre és szépen veszed az első fel nem használt betűt.
Igy valahogy:for(i = len - 1; i >= 0; i--)
{
int current = indices[ i ];
used[current] = 0;
current = findnextunused(used, current + 1, len);
if (current < len)
{
indices[ i ] = current;
break;
}
}
if (i < 0)
{
break;
}
indices[++i] = findnextunused(used, 0, len);
for(i++; i < len; i++)
{
indices[ i ] = findnextunused(used, indices[i - 1] + 1, len);
}
A findnextunused függvényem második paramétere a keresés kezdőpozíciója.
A megtalált betűt be is jelöli, hogy használatban van.
Biztos van egyszerűbb módja, mindig is utáltam a kombinatorikát
Emitter: a rekurziót is utálomDe azért persze szoktam használni.
MOD: [ i ]
[Szerkesztve] -
emitter
őstag
a sorba rendezésre itt van egy, de ez csak számokat rak sorba, mingyá előkotrom a stringes verziót is
[link]
a betűk megkeverését (amit n! féleképp tudsz megtenni) szvsz vhogy rekurzióval kell (érdemes ) megoldani, a baj csak az, h nem tudom hogyanmajd vki okosabb megmondja a tutit
for ciklusokkal is lehetne, de ekkor szvsz annyi ciklus kéne amennyi a string hossza, ez a megoldás márpedig enyhén ronda -
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Casco és kötelező gépjármű felelősségbiztosítás
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Gurulunk, WAZE?!
- Austin F.: Intel Iris Xe driver frissítés
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Honda topik
- Milyen okostelefont vegyek?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Xiaomi 15 - kicsi telefon nagy energiával
- Projektor topic
- További aktív témák...
- MacBook Pro Retina 14" 8C / 14C / 16 GB / 512 SSD / Magyar / Garancia
- FULL CTO 14" MacBook Pro M2 MAX / 12C CPU / 30C GPU / 32 GB RAM / 1TB SSD / Garancia
- AKCIÓ - 2023 MacBook Pro 14" M3 Pro / 12C CPU / 18C GPU / 18GB RAM / 1TB SSD / Garancia
- CTO (DUPLA RAM MEMÓRIA) MacBook Pro Retina 14" 10C / 16C CPU / 32 GB RAM / 1 TB SSD / Garancia
- CONTAX ZEISS AUTOFÓKUSZOS OBJEKTÍVEK SoNY E vázakhoz
- Bomba ár! Dell Latitude 5310 - i5-10GEN I 16GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- 14" Dell Latitude laptopok: 5400, 5480, 5490, 7480, E7440, E7450 / SZÁMLA + GARANCIA
- AKCIÓ! MSI Z77 MPOWER Z77 chipset alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 500GB SSD RX 6700XT 12GB Cooler Master CMP 520L 750W
- BenQ PD-3200-U Monitor - Designer 4K 32"
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest