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 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 34
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 16
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 10
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: Hledání slov v text. souboru

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