abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 15
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (16%)
     (19%)
     (14%)
    Celkem 83 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    Dotaz: Hledání slov v text. souboru

    22.1.2014 00:39 Dan
    Hledání slov v text. souboru
    Přečteno: 293×
    Zdravím, chtěl bych poprosit o pomoc při vytváření tohoto programu:

    Chci udělat program, kde uživatel zadá 4-7 náhodných písmen a program ukáže ty slova ve kterém jsou ta písmena.

    Mám k tomu textový soubor, který vypadá nějak takhle (je tam několik tisíc slov): KSF KHG ZTGH LOKIU KJSNVM KSJFNTM MKSJNVI

    takže například když zadám písmena KSJV, tak se mi má zobrazit slova KJSNVM a MKSJNVI

    Zatím jsem došel tak daleko:

    http://pastebin.com/SarQrCrj

    Řešení dotazu:


    Odpovědi

    22.1.2014 09:46 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Hledání slov v text. souboru
    Panenko skákavá...
    for i in $(<text.txt); do echo $i | grep a | grep b | grep c | grep d ; done
    To je domácí úkol na ZŠ?
    22.1.2014 09:55 potato
    Rozbalit Rozbalit vše Re: Hledání slov v text. souboru
    Panenko skákavá, zase někdo označuje vlastní odpovědi za řešení, i když vůbec není jasné, zda s řešením jakkoli souvisejí (například to není program v C).
    22.1.2014 09:54 potato
    Rozbalit Rozbalit vše Re: Hledání slov v text. souboru
    Předpokládám, že to píšeš jako cvičení, takže nebudu popisovat, jak celý program nahradit triviálním skriptem s grepem...

    Nepoužívat gets() ani funkce Xscanf() s normálním %s, to je akorát recept na padající program. Namísto toho použít getline(), Xscanf() se zadanou délkou řetezce %.123s nebo ještě lépe automatickou alokací výsledku %ms.

    Vnitřní prohledávací cyklus je nějaký podivný a printf() vypisuje kus slova od nalezené posice... Neejednodušší (ne nutně nejefektivnější) postup je projít pro každé slovo zadaná písmena, pro každé otestovat, zda je ve slově přítomno (např. tím strchr()). Když není, tak nastavit nějaký flag a nechat procházení. Pokud projdeš všechna a flag zůstane nenastavený, tak poté to slovo vypsat.
    22.1.2014 15:03 MadCatX
    Rozbalit Rozbalit vše Re: Hledání slov v text. souboru
    Hodně "manuální" možností je použít fgetc(), znaky ukládat do dynamicky alokovaného řetězce a je-li slovo příliš dlouhé, použít realloc(). Výhodou je, že to půjde zkompilovat a tam, kde "%ms" není dostupné. Písmena k otestování bych uložil do řetězce a postupně volal strchr() nad jednotlivými znaky v něm:
    void check_word(const char* word)
    {
      size_t idx;
      size_t letters_len = strlen(letters);
    
      for (idx = 0; idx < letters_len; idx++) {
        if (strchr(word, letters[idx]) == NULL)
          return;
      }
    
      printf("Word %s contains all letters\n", word);
    }
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.