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 01:00 | Nová verze

Známý šifrovaný komunikátor Signal od verze 3.30.0 již nevyžaduje Google Play Services. Autoři tak po letech vyslyšeli volání komunity, která dala vzniknout Google-free forku LibreSignal (dnes již neudržovaný). Oficiální binárky jsou stále distribuované pouze přes Google Play, ale lze použít neoficiální F-Droid repozitář fdroid.eutopia.cz s nezávislými buildy Signalu nebo oficiální binárku stáhnout z Google Play i bez Google účtu

… více »
xm | Komentářů: 1
včera 23:14 | Nová verze

Po třech týdnech od vydání první RC verze byla vydána první stabilní verze 17.01.0 linuxové distribuce pro routery a vestavěné systémy LEDE (Linux Embedded Development Environment), forku linuxové distribuce OpenWrt. Přehled novinek v poznámkách k vydání. Dotazy v diskusním fóru.

Ladislav Hagara | Komentářů: 4
včera 17:28 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2017-6074 v Linuxu zneužitelné k lokální eskalaci práv. Jde o chybu v podpoře DCCP (Datagram Congestion Control Protocol). Do linuxového jádra se dostala v říjnu 2005. V upstreamu byla opravena 17. února (commit). Bezpečnostní chyba byla nalezena pomocí nástroje syzkaller [Hacker News].

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

Společnost Valve vydala novou beta verzi SteamVR. Z novinek lze zdůraznit oficiální podporu Linuxu. Další informace o podpoře této platformy pro vývoj virtuální reality v Linuxu v diskusním fóru. Hlášení chyb na GitHubu.

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

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
21.2. 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
21.2. 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 6
21.2. 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 689 hlasů
 Komentářů: 66, poslední včera 18:57
    Rozcestník

    Dotaz: Snazim se pochopit pole v C a nefunguje mi program

    Bundas avatar 24.1.2014 16:27 Bundas | skóre: 14 | Pardubice
    Snazim se pochopit pole v C a nefunguje mi program
    Přečteno: 633×
    >
    
    int main(void)
    {
        int a,k,i;
        scanf("%d", &a);
        int b[2000];
        for(i = 0; i < a; i++){
            b[i];
        }
        b[i] = k;
        printf("\n%d\n", k);
        return 0;
    
    }
    
    

    Nevite proc to nefunguje? na zacatku se ma ulozit hodnota do promenne a. Potom se definuje neinicializovane pole b. Potom by se mela zapsat hodnota z promenne a do pole b a pak by se mela hodnota pole b priradit do promenne k.
    Abe the Messiah has come.

    Odpovědi

    24.1.2014 16:37 axel
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Je to uplny nesmysl, projdi si jednotlive radky a rekni si slovy, co delaji. Z toho by melo vyjit, ze napr. "b[i]" nedela vubec nic, nebo ze prochazet pole podle indexu zadanych v promenne a nema zadny vztah k tvemu zadani, ktere je ostatne popsane dost zmatecne... Pripadne si poloz otazku, kde se vzala konstanta "2000".
    Bundas avatar 24.1.2014 16:45 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Dej sem prosim zdrojak.
    Abe the Messiah has come.
    24.1.2014 16:58 axel
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Zdrojak ceho? Jestli neumis napsat prirazeni do promenne (coz neumis), zacni nejakym tutorialem - v tuto chvili nejsi ve stavu, abys nejake zdrojaky vybec pochopil. Coz nemyslim zle, zadny uceny z nebe nespadl, ale samostudium je zaklad, ptat se na forech na takove veci je ztrata casu vsech zucastnenych.
    25.1.2014 11:51 xxxx
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    #include <iostream>
    #include <array>
    
    using namespace std;
    
    void main(int argc, char* argv[])
    {
    	array<int, 3> arr = { 1, 2, 3 };
    	for (int i : arr) cout << i << endl;
    	system("pause");
    }
    25.1.2014 12:23 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    C?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    24.1.2014 17:18 potato
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Přiřazení v C má formu[*]
    lhs = rhs;
    lhs je věc, do které se přiřazuje. Normálně tedy proměnná, prvek pole nebo struktury, ..., obecně něco adresovatelného.

    rhs je hodnota, která se přiřazuje.

    Porovnej si na základě toho svoje popisy, co se má dít, s kódem. Zjistíš, že vůbec neodpovídají.

    [*] Pro puristy: coby příkaz. Přiřazení je samozřejmě výraz, takže lze přiřadit i někde uprostřed výrazu, ale tímto teď nekomplikuji.
    24.1.2014 19:13 MadCatX
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Trochu mimo soutěž, ale vzhledem k tomu, že ten zdroják obsahuje pár nelogických věcí, by ti asi pomohlo překládat to nějakým ukecaným kompilátorem. Když to totiž já přeložím já, dostanu tohle:

    GCC 4.8 -Wall -pedantic
    waste01.c: In function ‘main’:
    waste01.c:7:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
         int b[2000];
         ^
    waste01.c:9:2: warning: statement with no effect [-Wunused-value]
      b[i];
      ^
    waste01.c:11:10: warning: ‘k’ is used uninitialized in this function [-Wuninitialized]
         b[i] = k;
              ^
    
    Clang 3.4 -Wall -pedantic
    waste01.c:9:5: warning: expression result unused [-Wunused-value]
            b[i];
            ~ ~^
    waste01.c:11:12: warning: variable 'k' is uninitialized when used here [-Wuninitialized]
        b[i] = k;
               ^
    waste01.c:5:12: note: initialize the variable 'k' to silence this warning
        int a,k,i;
               ^
                = 0
    2 warnings generated.
    
    Měl by ses snažit, aby ti kompilátor žádné warningy nevyhazoval i při velmi drsném nastavení, co se má kontrolovat. Minimálně v tomto případě bys totiž hned viděl, že ten tvůj kód nedává moc smysl.

    Co si BTW představuješ pod pojmem "pole"? Přijde mi, že ti to není vůbec jasné...
    Bundas avatar 24.1.2014 19:32 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    pole si predstavuju jakou soubor cisel se stejnym nazvem a ruznou adresou
    Abe the Messiah has come.
    24.1.2014 21:48 MadCatX
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Já bych spíš řekl, že pole v C je Spojitý blok paměti obsahující objekty stejného typu. S jednotlivými prvky se zachází stejně jako s normálními proměnnými. Moc nerozumím tomu, cos myslel tím "uložit hodnotu proměnné a do pole". Ukládat se dá jen do prvků pole, ne do pole jako takového.
    Bundas avatar 24.1.2014 23:24 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Trochu mimo topic:

    kdyz je dvourozmerne pole int pole[1001][3] jak se da zadat vstup do toho pole?

    nebo kdyz na vstupu zadame cislo do promenne N a cislo N ma predstavovat pole[N][3]
    Abe the Messiah has come.
    25.1.2014 00:21 MadCatX
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Sorry, ale opět ten dotaz moc nechápu.
    pole[N][3] - hodnota v poli "pole" na řádku N, sloupci 3
    
    pole[N][3] = x; // Do pole "pole" přiřaď na řádek N, sloupec 3 hodnotu "x"
    
    Bundas avatar 25.1.2014 12:35 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    tkze kdyby bylo

    int N = 20;
    int pole[N][3];
    pole[1-N][1-3] = 3; // Do pole "pole" prirad cislo 3 na radek 1 az N, sloupec 1 az 3 hodnotu 3 

    muze to tak byt?
    Abe the Messiah has come.
    25.1.2014 13:07 Jakub Galgonek
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Ne, nemůže. Obecně nelze přiřadit hodnotu všem prvkům pole jedním přiřazením. Nejlepší asi bude pořídit si nějakou učebnici jazyka C a začít od začátku. Já osobně třeba začínal s Heroutem (http://www.kopp.cz/www/cz/607-vyrobek-ucebnice-jazyka-c).
    25.1.2014 13:12 MadCatX
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Nemůže a to hned ze dvou důvodů. Jednak indexy pole v C nesmí být záporné a druhak staticky alokované pole (to, co operátor [] vyrobí) nemůže mít proměnnou velikost, takže použít jako délku pole nekonstantní proměnnou není přípustné.

    Přiřadit hodnotu více prvkům v poli najednou nelze, na to je třeba použít cyklus.
    25.1.2014 13:18 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    staticky alokované pole (to, co operátor [] vyrobí) nemůže mít proměnnou velikost, takže použít jako délku pole nekonstantní proměnnou není přípustné

    V tomhle případě to projde, protože ta alokace se provádí až za běhu. Neprošlo by to u globální proměnné nebo kdyby pole bylo static. Použije se ale samozřejmě aktuální hodnota N v okamžiku té inicializace.

    Jardík avatar 26.1.2014 21:46 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Imho když dop*dele někho chcu učit C v roce 2014, proč ho neučím C11 či alespoň C99 (15 let starý standard), ale musím se z nějakýho důvodu držet kravin, co vám vtloukali do hlavi v jeslích. imho index samozřejmě záporný být může, C99 §6.5.2.1/2 stanoví:
    The definition of the subscript operator [] is that E1[E2] is identical to (*((E1)+(E2))).
    
    Klidně můžete napsat i 50[mojepole]. Souhlasím, žě nemusíme mást (česky?) začátečníka, ale taky mu nemusíme lhát. A jeho pole je něco, čemu se nadává VLA a je naprosto v souladu s C99, C11 pak tuto "featuru" stanoví jako volitelnou (když není dostupné, musí být definováno __STDC_NO_VLA__).
    Přiřadit hodnotu více prvkům v poli najednou nelze, na to je třeba použít cyklus.
    Když se chce, tak jde i toto :-)
    Věřím v jednoho Boha.
    27.1.2014 08:07 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Taky neříkáš všechno:

    int N = 20;
    int pole[N][3];     /*int pole[20][3]    */
    pole[1-N][1-3] = 3; /*pole[-19][-2] = 3; */
    
    Tedy zápis mimo alokovaný prostor.

    Záporné indexy mohou fungovat takto, ale že by to byla zrovna začátečnická praktika…

    int pole[3] = {0,1,2};
    int *ptr = &pole[2];
    printf("%d,%d,%d",pole[0],pole[1],pole[2]);
    printf("%d,%d,%d",ptr[-2],ptr[-1],ptr[0] );
    

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    25.1.2014 13:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program

    Ne. Nevymýšlejte si, prosím, svou vlastní syntaxi. Četl jste snad někde něco o tom, že jako index pole můžete napsat rozsah, navíc se znakem, který obvykle znamená odečítání? Překladač není člověk a nebude hádat, co jste tím asi tak mohl myslet. To, co jste napsal, by ve skutečnosti znamenalo

      pole[-19][-2] = 3
    

    Pokud chcete naplnit celé pole, musíte to udělat cyklem:

      int i, j;
    
      for (i = 0; i < N; i++)
        for (j = 0; j < 3; j++)
          pole[i][j] = 3;
    
    nebo pokud překladač podporuje C99 syntaxi
      for (int i = 0; i < N; i++)
        for (int j = 0; j < 3; j++)
          pole[i][j] = 3;
    
    Bundas avatar 25.1.2014 19:45 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    co kdyz na vstupu program dostane 2 radky a na kazdem radku 123123 ruznych cisel?

    jak se to da zapsat do pole cisla[2][123123]?
    Abe the Messiah has come.
    25.1.2014 20:19 potato
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Úplně stejně. Akorát normální programátor v C nebude nikdy vytvářet statické pole cisla[2][123123], ale paměť dynamicky alokuje z haldy.
    26.1.2014 01:32 lertimir | skóre: 59 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Takhle, že se budeš ptát na chybné programy, se to naučit nejde. Z těch příkladů je zcela jasně vidět, že naprosto nevíš, co se v tom jazyku děje. Potom i otázky jsou v podstatě nesmyslné a nedá se na ně odpovědět. Vezmi si dobrou knihu o C a tu si přečti, udělej všechny příklady, a porozumíš tomu jazyku. Já jsem se před mnoha lety učil z Programovací jazyk C - Kernighan, Brian W.; Ritchie, Dennis M. Což má tu výhodu, že jsou to autoři jazyka C a vyložili ho vynikajícím způsobem. Všichni také říkají, že Herout Učebnice jazyka C, je také výborná kniha, ale tu jsem nečetl. A v téhle chvíli zapomeň na pole. Při práci s polemi je C mnohem blíže assembleru než skoro jakýkoliv jiný jazyk, který jsi potkal (ať je to pascal, java, nebo co jsi zkoušel). Nejdříve zvládni pointry, protože tak se realizuje to pole. V nějaké proměnné máš adresu do paměti, kde jsou další data. Dokud neporozumíš jak nastavit (inicializovat), co je v pointru a kam má ukazovat, aby to bylo správně, nezabývej se polem, protože pole je jen konstantní pointer.

    A k té otázce: Co to znamená "co kdyz na vstupu program dostane 2 radky..."? Je to myšleno podprogram/funkce dostane v parametrech? Pak podprogram dostane pointr na pole o dvou prvcích, každý z těchto prvků obsahuje pointr na adresu paměti (začátek prostoru) o velikosti 123123 objektů (a záleží jestli je to objekt int, short, long, float). Protože v tom jediném pointru, který podprogram dostane, není žádná informace o rozměrech, musí dostat dalšími parametry počet řádku a sloupců. A pak se po prostoru pole může pohybovat.

    Nebo je to myšleno, že program dostane datový proud na STDIN? Pak si na to musí udělat/alokovat místo, načíst data a opět se pointry dostane, kam potřebuje.
    26.1.2014 12:11 sad
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Já bych jako první knihu o C bych doporučil Učebnici jazyka C od Herouta, protože programování učí. Kniha Programovací jazyk C Kernighan, Ritchie mi přijde spíše jako referenční příručka pro lidi, kteří už umí programovat. V Heroutovi je lépe vysvětlen oddělený překlad a dynamická alokace paměti, u KR je malloc zmíněn jen okrajově. Herout upozorňuje na to, že enter zůstává načten v bufferu, což je u KR pravděpodobně vinou zastaralosti opomíjeno a má to za následek to, že správně nefunguji i ty nejjednodušší příklady na getchar, a matoucí může být i testování getchar na EOF. Heroutova Učebnice obsahuje rozmanitější příklady, není tak roztahaná a nezáživná jako KR, srovnává C s Pascalem, takže člověk dostane základy i jiného jazyka. Takže pro začátečníka bych skutečně doporučil toho Herouta a pak, když už začal s C, ať se pustí do C++, algoritmů, datových struktur a knihovny závislé na tom, co chce programovat. Ale podotýkám, že nejsem moc dobrý programátor, takže možná píši kraviny.
    26.1.2014 22:19 potato
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    Obě knihy, K&R a Herout jsou dobré. Ani jedna není úplně ideální. K&R je už dnes trochu moc historická (psát dnes v C99 by už neměla být žádná exotika, není-li tedy člověk v zajetí MSVC). Herout je zase taková přeučovací příručka pro pascalisty (to pro mne kdysi bylo ideální, ale dnes už Pascal nevládne výuce informatiky).

    Celkově ale asi jakákoli učebnice, která slušně vysvětluje C, by měla postačovat k pochopení syntaxe a ukazatelů -- a aby tazatelovy programy přestaly být snůškou náhodných, a často i syntakticky pochybných konstrukcí, a obsahovaly nanejvýš normální chyby, nad kterými už lze smysluplně diskutovat.
    24.1.2014 20:21 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    int main(void)
    {
        int a,k,i;                // tři proměnné int neinicializované
        scanf("%d", &a);          //přečteme číslo a uložíme proměnnou do "a"
         int b[2000];             // neinicializované pole 
        for(i = 0; i < a; i++){   //provedeme cyklus několikrát pokud bude a>i
            b[i];                 //zde nic neděláme nemá to význam
        }                         //konec cyklu                   
        b[i] = k;                 //neinicializovanou proměnnou přečteme a zapíšeme do pole někam kam ukazuje proměnná i čili zapisujeme buhví co a bůh ví kam
        printf("\n%d\n", k);      //vypíšeme nesmysl co je v neinicializované proměnné k
        return 0;                 //konec
    
    }
    
    Co takhle si nejdříve něco přečíst Programování v jazyce C
    24.1.2014 22:05 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
        b[i] = k;                 //neinicializovanou proměnnou přečteme a zapíšeme do pole někam kam ukazuje proměnná i čili zapisujeme buhví co a bůh ví kam
    

    To není tak úplně pravda, bezprostředně po skončení cyklu bude mít proměnná i hodnotu a. Že to nedává smysl, protože pravá strana je neinicializovaná a levou pak nikdy nepoužijeme (a nedávalo by to smysl ani obráceně, protože levá strana také není inicializovaná), to už je jiná kapitola.

    Musím říct, že tady mne tazatel dostal. Většinou u špatně napsaného programu aspoň tuším, co měl autor na mysli. Tady se naprosto neodvažuji hádat; podobné pocity jsem měl při čtení zdrojáku z úlohy 6 tady.

    martin-ux avatar 24.1.2014 23:52 martin-ux | skóre: 18 | Bratislava
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    otazne je, co nie je uplne pravda. pretoze ak a >= 2000, tak ten comment je presny - nevieme co zapisujeme nevieme kam (resp. vieme kam, ale nevieme co prepisujeme).
    ..when you do things right, people won't be sure you've done anything at all..
    25.1.2014 00:48 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Snazim se pochopit pole v C a nefunguje mi program
    To samozřejmě ano, ale takové věci má IMHO smysl začít řešit až tehdy, když ten program bude dávat aspoň trochu smyslu.

    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.