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:22 | Komunita

Na dnes, poslední středu v březnu, připadá Document Freedom Day (DFD, Wikipedie), jenž má upozornit na výhody otevřených standardů a formátů dokumentů. Organizátoři se rozhodli, že letos proběhne Document Freedom Day dvakrát. Druhý letošní Document Freedom Day proběhne 26. dubna.

Ladislav Hagara | Komentářů: 0
včera 12:33 | Nová verze

Byla vydána nová stabilní verze 1.8 (1.8.770.50) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují vylepšenou historii prohlížení. Ukázka na YouTube. Chromium bylo aktualizováno na verzi 57.0.2987.111.

Ladislav Hagara | Komentářů: 0
včera 05:55 | Zajímavý projekt

Google na svém blogu věnovaném open source představil portál Google Open Source informující mimo jiné o více než 2000 open source projektech vyvíjených nebo používaných v Googlu.

Ladislav Hagara | Komentářů: 0
včera 03:33 | IT novinky

Pro společnost Red Hat skončil 28. února fiskální rok 2017. Dle finančních výsledků bylo čtvrté čtvrtletí, stejně jako celý fiskální rok 2017, opět úspěšné. Tržby jsou zvyšovány již 60 čtvrtletí v řadě. Za čtvrté čtvrtletí 2017 to bylo 629 milionů dolarů, tj. meziroční nárůst 16 %. Tržby za celý fiskální rok činily 2,4 miliardy dolarů, tj. meziroční nárůst 18 %.

Ladislav Hagara | Komentářů: 2
28.3. 18:22 | Bezpečnostní upozornění

V balíčku eject, příkaz pro vysunutí CD/DVD z mechaniky, v linuxových distribucích Ubuntu (USN-3246-1) a Debian (#858872) byla nalezena bezpečnostní chyba CVE-2017-6964 zneužitelná k lokální eskalaci práv. Linuxové distribuce používající eject z balíčku util-linux nejsou zranitelné.

Ladislav Hagara | Komentářů: 15
28.3. 05:55 | Komunita

Dries Buytaert, autor a vedoucí projektu Drupal a prezident Drupal Association, požádal soukromě před několika týdny Larryho Garfielda, jednoho z klíčových vývojářů Drupalu, aby projekt Drupal opustil. Larry Garfield minulý týden na svých stránkách napsal, že důvodem jsou jeho BDSM praktiky a rozpoutal tím bouřlivou diskusi. Na druhý den reagoval Dries Buytaert i Drupal Association. Pokračuje Larry Garfield [reddit].

Ladislav Hagara | Komentářů: 55
28.3. 04:44 | Humor

Společnost SAS zveřejnila na svých stránkách studii s názvem Open Source vs Proprietary: What organisations need to know (pdf). Organizace by měly například vědět, že ideální je mix 40 % open source softwaru a 60 % proprietárního softwaru [Slashdot].

Ladislav Hagara | Komentářů: 12
27.3. 23:33 | Zajímavý software

Byl vydán ShellCheck ve verzi 0.4.6. Jedná se o nástroj pro statickou analýzu shellových skriptů. Shellové skripty lze analyzovat na webové stránce ShellChecku, v terminálu nebo přímo z textových editorů. Příklady kódů, na které analýza upozorňuje a doporučuje je přepsat. ShellCheck je naprogramován v programovacím jazyce Haskell. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.

Ladislav Hagara | Komentářů: 0
27.3. 23:33 | Pozvánky

Czech JBoss User Group zve na setkání JBUG v Brně, které se koná ve středu 5. dubna 2017 v prostorách Fakulty informatiky Masarykovy univerzity v místnosti A318 od 18:00. Přednáší Pavol Loffay na téma Distributed Tracing and OpenTracing in Microservice Architecture.

… více »
mjedlick | Komentářů: 0
27.3. 11:33 | Zajímavý článek

Národní centrum kybernetické bezpečnosti (NCKB) vypracovalo (pdf) 26 podrobných bezpečnostních doporučení pro síťové správce. Tato doporučení jsou nastavena tak, aby je bylo možné aplikovat v každé instituci. Jsou rozdělena na tři základní části: bezpečnost infrastruktury, bezpečnost stanic a serverů a bezpečnost uživatelů.

Ladislav Hagara | Komentářů: 17
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 964 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    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: 634×
    >
    
    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: 60 | 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.