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í
×
    dnes 04:11 | IT novinky

    Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.

    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | IT novinky

    Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Nová verze

    Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Pozvánky

    V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »

    lkocman | Komentářů: 0
    včera 14:11 | IT novinky

    Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.

    Ladislav Hagara | Komentářů: 1
    včera 05:55 | IT novinky

    Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o

    … více »
    Ladislav Hagara | Komentářů: 19
    včera 04:44 | IT novinky

    Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    18.8. 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    18.8. 14:33 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    18.8. 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2437 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Hledání slov v text. souboru

    22.1.2014 00:39 Dan
    Hledání slov v text. souboru
    Přečteno: 444×
    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.