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 17:33 | IT novinky

    Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.

    Ladislav Hagara | Komentářů: 1
    dnes 13:00 | IT novinky

    Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).

    Ladislav Hagara | Komentářů: 4
    dnes 12:44 | IT novinky

    Americká společnosti Apple přesune část výroby svého malého stolního počítače Mac mini z Asie do Spojených států. Výroba v závodě v Houstonu by měla začít ještě v letošním roce, uvedla firma na svém webu. Apple také plánuje rozšířit svůj závod v Houstonu o nové školicí centrum pro pokročilou výrobu. V Houstonu by měly vzniknout tisíce nových pracovních míst.

    Ladislav Hagara | Komentářů: 10
    dnes 12:11 | Zajímavý článek

    Vědci Biotechnologické společnosti Cortical Labs vytvořili biopočítač nazvaný CL1, který využívá živé lidské mozkové buňky vypěstované z kmenových buněk na čipu. Po úspěchu se hrou PONG se ho nyní snaží naučit hrát DOOM. Neurony přijímají signály podle toho, co se ve hře děje, a jejich reakce jsou převáděny na akce jako pohyb nebo střelba. V tuto chvíli systém hraje velmi špatně, ale dokáže reagovat, trochu se učit a v reálném čase se hrou

    … více »
    karkar | Komentářů: 4
    dnes 01:55 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý software

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 6
    včera 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 10
    včera 03:44 | Komunita

    Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.

    Ladislav Hagara | Komentářů: 3
    včera 01:22 | IT novinky

    Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).

    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 968 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: vypsání intervalu v ostrých závorkách

    13.11.2018 21:24 Kacka99
    vypsání intervalu v ostrých závorkách
    Přečteno: 1110×
    Ahoj mám problém a prosím o radu.

    Potřebuji udělat interval, který bude v ostrých závorkách < >. Používám na vypsání scanf a poté cyklus for, kde nejnižší hodnota je "a" a nejvyšší "b". Pokud však dám program spustit a napíšu ostré závorky a do nich čísla a nechám si celý cyklus (tedy interval) vypsat, program se zacyklí. Prosím, co s tím?

    Odpovědi

    13.11.2018 22:34 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    Používám na vypsání scanf

    To asi ťažko.

    Skús sa spýtať ešte raz.
    13.11.2018 22:49 Kacka99
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    ten program vypadá takhle:

    int a,b;

    scanf("%d%d", &a, &b);

    for (int i = a; i <= b; i++)

    printf("%d", i);

    --------------------------------------------------------------------------

    když vkládám čísla, ze kterých chci udělat interval napíšu např. <1;5> a program se zacyklí.
    13.11.2018 22:37 sad
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    Zkus tohle:
    #include <stdio.h>
    
    int main()
    {
        int min, max, i;
        char end[2];
        
        if (scanf("<%d,%d%1[>]", &min, &max, end) == 3)
        	for (i = min; i <= max; i++)
        		printf("%d\n", i);	
        
        return 0;
    }
    
    Funkce scanf vrací počet úspěšně načtených proměnných.
    13.11.2018 22:52 Kacka99
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    Zkusím to, děkuji moc.
    13.11.2018 23:02 sad
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    Akorát ten interval musíš zadat ve formátu <1,5> když budeš chtít formát <1;5>, tak ve scanf jen vyměníš tu čárku za středník.
    13.11.2018 22:55 Kacka99
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    Napadlo mě, že bych to mohla udělat takto:

    int a, b;

    printf("<");

    scanf("%d%d", &a, &b);

    printf(">");

    ale to druhé printf se vypíše pod čísly, které vyberu, tedy neexistuje něco, co by nechalo vše na jednom řádku? Něco jako \n?
    14.11.2018 09:43 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    To si treba dobre naštudovať, ako funguje scanf().

    scanf() číta zo štandardného vstupu. Teda: a) nerobí výstup. b) scanf() začne spracovávať až dáta, ktoré mu "dodá terminál". Vnútorne je to trocha komplikované, ale na tej úrovni, na ktorej sa bavíme, to skrátka funguje tak, že scanf() začne niečo robiť až keď užívateľ stlačí Enter. Až vtedy zoberie postupnosť znakov, ktoré užívateľ naťukal a začne ich analyzovať a plniť premenné v tvojom prípade premenné 'a' a 'b'. Podstatné je, že v tom čase už terminál prijal stlačenie klávesy Enter a zareagoval na to tak, že posunul kurzor (miesto, kde sa napíše ďalší znak) na ďalší riadok. Preto sa ten znak > objaví na ďalšom riadku.

    Ďalšia vec: prvým argumentom funkcie scanf() je tzv. "formatovací reťazec". V tvojom prípade "%d%d". Ten rozhoduje o tom, ako sú znaky napísanú užívateľom "pochopené", analyzované a priradené do premenných 'a' a 'b'. V tomto formátovacom reťazci sú časti začínajúce znakom percento. '%d' hovorí, že postupnosť znakov sa bude interpretovať ako číslo zapísané v desiatkovej sústave. To má tiež svoje nuansy. Napr. čítanie čísla sa zastaví na prvom znaku, ktorý nemožno použiť ako číslicu. Napr. ak je na vstupe "123 456", tak čítanie prvého čísla zastaví po znaku '3', lebo znak medzera nie je možné použiť ako číslicu. Druhá vlastnosť: čítanie číslice preskakuje "biele znaky" (kam patrí aj medzera) na začiatku. Takže čítanie druhého čísla začne medzerou, tá sa preskočí a pokračuje sa číslicou 4 a skončí (neviditeľným ) znakom, ktorý tam dala klávesa Enter. Preto ak na vstup dám "123,456" tak prvé číslo sa prečíta, ale druhé nie, pretože znak ',' nepatrí medzi "biele znaky".

    No a nakoniec: formátovací reťazec scanf() môže obsahovať iné znaky, ktoré nemajú pred sebou znak percento a tie musia sedieť s tým, čo je na vstupe. Takže ak budem mať
    scanf("<%d,%d>",&a,&b)
    a na vstup napíšem
    <123,456>
    tak to zafunguje, ale užívateľ musí napísať aj znaky '<', '>' a ','. Ak tam dá napr. bodkočiarku, tak to nezafunguje, lebo bodkočiarka nie je čiarka. Ak tam dá miesto čiarky medzeru, tak to nezafunguje lebo čiarka vo formátovacom reťazci sa nenájde na vstupe. Ak dá medzeru na pred znak < tak to zasa nezafunguje, lebo formátovací reťazec začína znakom < a tam sa žiadne biele znaky nepreskakujú.

    Cvičenie #1: zafunguje?
    <123, 456>
    Cvičenie #2: zafunguje?
    <123 ,456>
    14.11.2018 10:21 Kacka99
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    Teda děkuji moc, hned jak budu doma, zkusím to. A fakt moc díky za to vysvětlení všeho. :)
    14.11.2018 14:21 debian+
    Rozbalit Rozbalit vše Re: vypsání intervalu v ostrých závorkách
    Tvoje upravene na univerzalnejsie (upraveny kod uzivatela sad):
    #include <stdio.h>
    
    #define IS_NOT_NUMBER(a) (!((a) >= '0' && (a) <= '9'))
    
    /* vsetky ostatne znaky okrem cisiel riadku "zmaze" (nahradi medzerou) */
    void clean_on_number(char *buffer, size_t lenght)
    {
    	char *p;
    	
    	if(buffer == NULL)
    		return;
    	
    	for(p=buffer;*p != '\0'; p++)
    		if(IS_NOT_NUMBER(*p))
    			*p=' ';
    }
    
    int main(int argc, char **argv)
    {
        int min, max, i;
        
        char buffer[100];
        if(fgets(buffer, 100, stdin) != NULL)
        {
    		clean_on_number(buffer, 100);
    		sscanf(buffer, "%d %d", &min, &max);
        	for (i = min; i <= max; i++)
        		printf("%d\n", i);	
    	}
        
        return 0;
    }
    
    

    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.