<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/feed.php">
        <title>DokuWiki - zpro</title>
        <description></description>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/</link>
        <image rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-28T00:51:45+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:array&amp;rev=1603114755&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:faktorial&amp;rev=1643906033&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:first_and_last&amp;rev=1644337609&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:first&amp;rev=1601283136&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:ide&amp;rev=1670103456&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:introduction&amp;rev=1605111250&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:kombinacni_cisla&amp;rev=1643906163&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:lexer_st&amp;rev=1607530635&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:lexer&amp;rev=1606926100&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list&amp;rev=1605111614&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list2&amp;rev=1605191454&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list2st&amp;rev=1644345338&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list3ct&amp;rev=1605795327&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list3st&amp;rev=1605795308&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list4ct&amp;rev=1606400583&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list4st&amp;rev=1606321601&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:matice&amp;rev=1643906517&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:matricies&amp;rev=1604960131&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:numbers&amp;rev=1602515334&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:online&amp;rev=1601283094&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:pictures&amp;rev=1604498815&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:pole&amp;rev=1608135513&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:priklady2021&amp;rev=1643905209&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:priklady2022&amp;rev=1666795793&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:run&amp;rev=1600850446&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:second_2022&amp;rev=1666795626&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:second&amp;rev=1631280233&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:soustava&amp;rev=1740322326&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:template&amp;rev=1602519657&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree_ct&amp;rev=1606400395&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree_st&amp;rev=1606925604&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree&amp;rev=1605798536&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:zlomky&amp;rev=1608135542&amp;do=diff"/>
                <rdf:li rdf:resource="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:zpro&amp;rev=1740322134&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>DokuWiki</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/</link>
        <url>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:array&amp;rev=1603114755&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-19T13:39:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>array</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:array&amp;rev=1603114755&amp;do=diff</link>
        <description>Jednorozměrná pole

Deklarujeme pole deseti celých čísel


    int a [10];


Překladač pro proměnnou a vyhradí místo stejně dlouhé jako deset celočíselných proměnných. 

K jednotlivým položkám přistupujeme pomocí a[0], a[1], ...</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:faktorial&amp;rev=1643906033&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-03T16:33:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>faktorial</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:faktorial&amp;rev=1643906033&amp;do=diff</link>
        <description>Faktoriál


#include &lt;iostream&gt;
using namespace std;

int fact1 (int n)
{
    int s = 1;
    for (int k = 1; k &lt;= n; k++)
    {
        s = s * k;
    }
    return s;
}

int fact (int n)
{
    if (n &gt; 1)
    {
        return n * fact(n - 1);
    }
    else
    {
        return 1;
    }
}

int comb (int n, int k)
{
    return fact (n) / ( fact(k) * fact(n - k) );
}

int main ()
{
    for (int n = 0; n &lt;= 7; n++)
    {
        for (int k = 0; k &lt;= n; k++)
        {
            cout &lt;&lt; comb(n, k) &lt;…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:first_and_last&amp;rev=1644337609&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-08T16:26:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>first_and_last</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:first_and_last&amp;rev=1644337609&amp;do=diff</link>
        <description>Jednosměrný seznam s ukazateli na první a poslední prvek


#include &lt;iostream&gt;
using namespace std;

struct Item;

struct List
{
    Item * first;
    Item * last;
};

struct Item
{
    string name;
    int    r, g, b;
    Item * next;
};

void init (List &amp; a) // prazdny seznam
{
    a.first = nullptr;
    a.last = nullptr;
}

void insertFirst (List &amp; a, string name0, int r0, int g0, int b0)
{
    Item* t = new Item;

    t-&gt;name = name0;
    t-&gt;r = r0;
    t-&gt;g = g0;
    t-&gt;b = b0;

    t-&gt;next…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:first&amp;rev=1601283136&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-28T08:52:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>first</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:first&amp;rev=1601283136&amp;do=diff</link>
        <description>První příklad


#include &lt;iostream&gt;


Překladač načte definice standardních funkcí a proměnných z “hlavičkového” souboru iostream
Tato direktiva musí být na samostatném řádku.

Ve zbýbající části programu nebude členění na jednotlivé řádky důležité.</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:ide&amp;rev=1670103456&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-03T21:37:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ide</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:ide&amp;rev=1670103456&amp;do=diff</link>
        <description>Vývojová prostředí

Windows: Visual Studio Community

Windows na starším stroji nebo s horším připojením: Code Blocks nebo Dev C++

Linux: Qt Creator, ( KDevelop nebo nějaký textový editor a řádkový příkaz gcc )

Mac: 

mám dojem, že Visual Studio for Mac nepodporuje jazyk C++</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:introduction&amp;rev=1605111250&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-11T16:14:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>introduction</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:introduction&amp;rev=1605111250&amp;do=diff</link>
        <description>Jednosměrný seznam (úvod)


#include &lt;iostream&gt;
using namespace std;

struct Item
{
    string name;
    int    value;
    Item * next;
};

Item* first = nullptr;

void add (string name0, int value0)
{
    Item* p = new Item;
    p-&gt;name = name0;
    p-&gt;value = value0;
    p-&gt;next = first;

    first = p;
}

void addLast (string name0, int value0)
{
    Item* p = new Item;
    p-&gt;name = name0;
    p-&gt;value = value0;
    p-&gt;next = nullptr;

    if (first == nullptr)
    {
        first = p;
    }…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:kombinacni_cisla&amp;rev=1643906163&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-03T16:36:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kombinacni_cisla</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:kombinacni_cisla&amp;rev=1643906163&amp;do=diff</link>
        <description>Kombinační čísla


#include &lt;iostream&gt;
using namespace std;

int c[10][10];

int main ()
{
    c[0][0] = 1;
    for (int n = 1; n &lt;= 9; n++)
    {
        c[n][0] = 1;
        for (int k = 1; k &lt;= n; k++)
            c[n][k] = c[n-1][k - 1] + c[n-1][k];
    }

    for (int n = 0; n &lt;= 9; n++)
    {
        for (int k = 0; k &lt;= n; k++)
        {
            cout &lt;&lt; c[n][k] &lt;&lt; &quot; &quot;;
        }
        cout &lt;&lt; endl;
    }
}</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:lexer_st&amp;rev=1607530635&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-09T16:17:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lexer_st</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:lexer_st&amp;rev=1607530635&amp;do=diff</link>
        <description>lexer.h


#ifndef LEXER_H
#define LEXER_H

#include &lt;fstream&gt;
#include &lt;string&gt;
using namespace std;

enum TokenKind { ident, number, text, separator, eos };

class Lexer
{
private:
    ifstream f;
    char ch;
    void nextChar ();

public:
    TokenKind kind;
    string token;
    void nextToken ();
    void error (string msg);

public:
    bool isSeparator (char c);
    void checkSeparator (char c);

    double readNumber ();

public:
    Lexer (string fileName);
    ~Lexer ();
};

#endif // …</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:lexer&amp;rev=1606926100&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-02T16:21:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lexer</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:lexer&amp;rev=1606926100&amp;do=diff</link>
        <description>lexer.h


#ifndef LEXER_H
#define LEXER_H

#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

enum TokenKind { ident, number, text, separator, eos };

class Lexer
{
private:
    ifstream f;
    char ch;
    void nextChar ();

public:
    TokenKind kind;
    string token;
    void nextToken ();
    void error (string msg);

public:
    Lexer (string fileName);
    ~ Lexer ();
};

#endif</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list&amp;rev=1605111614&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-11T16:20:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>list</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list&amp;rev=1605111614&amp;do=diff</link>
        <description>Struktury


#include &lt;iostream&gt;
using namespace std;

struct Item
{
    string name;
    int    r, g, b;
};

void print (Item &amp; t)
{
    cout &lt;&lt; t.name &lt;&lt; &quot; &quot; &lt;&lt; t.r &lt;&lt; &quot;,&quot; &lt;&lt; t.g &lt;&lt; &quot;,&quot; &lt;&lt; t.b &lt;&lt; endl;
}

int main()
{
    Item c;
    c.name = &quot;cervena&quot;;
    c.r = 255;
    c.g = 0;
    c.b = 0;

    Item m;
    m.name = &quot;modra&quot;;
    m.r = 0;
    m.g = 0;
    m.b = 255;

    print (c);
    print (m);

    return 0;
}</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list2&amp;rev=1605191454&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-12T14:30:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>list2</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list2&amp;rev=1605191454&amp;do=diff</link>
        <description>Dvousměrný seznam


#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

struct Item;

struct List
{
    Item * first;
    Item * last;
};

struct Item
{
    string name;
    int    r, g, b;
    Item * prev;
    Item * next;
};

void init (List&amp; a) // prazdny seznam
{
    a.first = nullptr;
    a.last = nullptr;
}

void link (List&amp; a, Item* before, Item* fresh, Item* after)
{
    fresh-&gt;prev = before;
    fresh-&gt;next = after;

    if (before != nullptr)
        before-&gt;next = fresh;
    …</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list2st&amp;rev=1644345338&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-08T18:35:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>list2st</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list2st&amp;rev=1644345338&amp;do=diff</link>
        <description>Dvousměrný seznam


#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

struct Item;

struct List
{
    Item * first;
    Item * last;
};

struct Item
{
    string name;
    int    r, g, b;
    Item * prev;
    Item * next;
};

void init (List &amp; a)
{
    a.first = nullptr;
    a.last = nullptr;
}

void link (List&amp; a, Item* bef, Item* cur, Item* aft)
// Pripojit novy prvek 
// a - seznam
// bef - predchazejici prvek (muze byt nullptr)
// cur - novy prvek
// bef - nasledujici prvek (muze …</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list3ct&amp;rev=1605795327&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-19T14:15:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>list3ct</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list3ct&amp;rev=1605795327&amp;do=diff</link>
        <description>Objektový seznam (první část)


#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

class Item;

class List
{
public:
    Item * first;
    Item * last;
private:
    void link (Item* before, Item* fresh, Item* after);
public:
    void linkFirst (Item* fresh);
    void linkLast (Item* fresh);
    void linkAfter (Item* target, Item* fresh);
    void linkBefore (Item* target, Item* fresh);

    void insertFirst (string name0, int r0, int g0, int b0);
    void insertLast  (string name0, int…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list3st&amp;rev=1605795308&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-19T14:15:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>list3st</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list3st&amp;rev=1605795308&amp;do=diff</link>
        <description>Objektový seznam (první část)


#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

class Item;

class List
{
public:
    Item* first;
    Item* last;
private:
    void link (Item* bef, Item* cur, Item* aft);
public:
    void linkFirst (Item* cur);
    void linkLast (Item* cur);
    void linkBefore (Item* target, Item* fresh);
    void linkAfter (Item* target, Item* fresh);

    void insertFirst (string name0, int r0, int g0, int b0);
    void insertLast (string name0, int r0, int g0, i…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list4ct&amp;rev=1606400583&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-26T14:23:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>list4ct</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list4ct&amp;rev=1606400583&amp;do=diff</link>
        <description>Objektový seznam (druhá část)


#include &lt;iostream&gt;
#undef NDEBUG
#include &lt;cassert&gt;
using namespace std;

class Item;

class List
{
private:
    Item * first;
    Item * last;
public:
    Item * getFirst () { return first; }
    Item * getLast () { return last; }
    bool empty () { return first == nullptr; }
private:
    void link (Item* before, Item* fresh, Item* after);
public:
    void linkFirst (Item* fresh);
    void linkLast (Item* fresh);

    void insertFirst (string name0, int r0, int…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list4st&amp;rev=1606321601&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-25T16:26:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>list4st</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:list4st&amp;rev=1606321601&amp;do=diff</link>
        <description>Objektový seznam (druhá část)


#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

class Item;

class List
{
private:
    Item * first;
    Item * last;
public:
    Item * getFirst () { return first; }
    Item * getLast () { return last; }
    bool empty () { return first == nullptr; }
private:
    void link (Item* bef, Item* cur, Item* aft);
public:
    void linkFirst (Item* cur);
    void linkLast (Item* cur);

    void insertFirst (string name0, int r0, int g0, int b0);
    void in…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:matice&amp;rev=1643906517&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-03T16:41:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>matice</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:matice&amp;rev=1643906517&amp;do=diff</link>
        <description>Matice


#include &lt;iostream&gt;
#include &quot;lexer.h&quot;

class Matice
{
public:
    typedef double T;
    int R;
    int S;
    T * data;
    Matice () : R (0), S (0), data (nullptr) { }
    Matice (int R0, int S0) : R (0), S (0), data (nullptr) { alloc (R0, S0);  }
    ~Matice () { if (data != nullptr) delete[] data; }
    void alloc (int R0, int S0);
    T&amp; operator ( ) (int i, int k);
};

void Matice::alloc (int R0, int S0)
{
    if (data != nullptr) delete[] data;
    R = R0;
    S = S0;
    data = …</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:matricies&amp;rev=1604960131&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-09T22:15:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>matricies</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:matricies&amp;rev=1604960131&amp;do=diff</link>
        <description>Dvojrozměrná pole

Obdélníkové pole (matice) o pevném počtu řádků a sloupců. 

( V našich příkladech budedeme používat první index pro číslo řádky, druhý index pro číslo sloupce. )


   double a [3] [4];


Při přístupu k prvkům pole musíme použít pro oba indexy samostatné hranaté závorky.</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:numbers&amp;rev=1602515334&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-12T15:08:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>numbers</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:numbers&amp;rev=1602515334&amp;do=diff</link>
        <description>Podmíněný příkaz

Připomenu příkazy z přednášky


   if ( podmínka )
   {
      příkazy prováděné pokud je podmínka splněna
   }
 


   if ( podmínka )
   {
      příkazy prováděné pokud je podmínka splněna
   }
   else
   {
      příkazy prováděné pokud není podmínka splněna
   }</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:online&amp;rev=1601283094&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-28T08:51:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>online</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:online&amp;rev=1601283094&amp;do=diff</link>
        <description>Online překladače

Pokud nechcete vývojové prostředí zatím instalovat, 
můžetete zkusit některé z webových prostředí :

	*  &lt;http://cpp.sh&gt;
	*  &lt;http://www.tutorialspoint.com/compile_cpp11_online.php&gt;
	*  &lt;http://codepad.org&gt;
	*  &lt;http://wandbox.org/&gt;

Na webové strránce vymažte původní program a pomocí schránky vložte následující malý program :</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:pictures&amp;rev=1604498815&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-04T14:06:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pictures</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:pictures&amp;rev=1604498815&amp;do=diff</link>
        <description>Převzaté obrázky

pointer

int ptr

Jednosměrný seznam

nacrtek

adresy

insert first

insert

insert last

delete

Jednosměrný seznam s ukazatelem na poslední prvek

head and tail

Dvousměrný seznam

nacrtek

seznam

insert first

insert

insert last

delete

Ukazatel na pole

pole</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:pole&amp;rev=1608135513&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-16T16:18:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pole</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:pole&amp;rev=1608135513&amp;do=diff</link>
        <description>Pole


#include &lt;iostream&gt;
#include &quot;lexer.h&quot;

/* Pole */

// template &lt; class T &gt;
class Pole
{
public:
    typedef double T;
    int cnt;
    T * data;
    Pole () : cnt (0), data (nullptr) { }
    Pole (int cnt0) : cnt (cnt0) { data = new T [cnt]; }
    void alloc (int n);
    ~Pole () { if (data != nullptr) delete [] data; }
    T&amp; operator [ ] (int inx);
};

Pole::T &amp; Pole::operator [ ] (int inx)
{
    if (inx &lt; 0 || inx &gt;= cnt) throw runtime_error (&quot;Bad index&quot;);
    return data [inx];
}

vo…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:priklady2021&amp;rev=1643905209&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-03T16:20:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>priklady2021</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:priklady2021&amp;rev=1643905209&amp;do=diff</link>
        <description>Prevod ciselnych soustav


#include &lt;iostream&gt;
using namespace std;

/*
void conv1 (int n)
{
    while (n &gt; 0)
    {
        cout &lt;&lt; n % 2;
        n = n / 2;
    }
}

void conv2 (int n)
{
    if (n &gt; 0)
    {
        cout &lt;&lt; n % 2;
        conv2 (n / 2);
    }
}

void conv3(int n)
{
    if (n &gt; 0)
    {
        conv3(n / 2);
        cout &lt;&lt; n % 2;
    }
}
*/

string conv (int n, int z = 2)
{
    string s = &quot;&quot;;
    bool neg = false;
    if (n &lt; 0) { n = -n; neg = true; }
    while (n &gt; 0) 
    {…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:priklady2022&amp;rev=1666795793&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-26T14:49:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>priklady2022</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:priklady2022&amp;rev=1666795793&amp;do=diff</link>
        <description>Kvadratická rovnice


#include &lt;iostream&gt;
using namespace std;

int main()
{
    double a, b, c;

    if (false)
    {
        cout &lt;&lt; &quot;Vlozte cislo a: &quot;;
        cin &gt;&gt; a;

        cout &lt;&lt; &quot;Vlozte cislo b: &quot;;
        cin &gt;&gt; b;

        cout &lt;&lt; &quot;Vlozte cislo c: &quot;;
        cin &gt;&gt; c;
    }
    else 
    {
        a = 1;
        b = 0;
        c = 4;
    }

    double D = b * b - 4 * a * c;

    if (D &gt;= 0)
    {
        double x1 = (-b + sqrt(D)) / (2 * a);
        double x2 = (-b - sqrt(D)) / (2 …</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:run&amp;rev=1600850446&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-09-23T08:40:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>run</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:run&amp;rev=1600850446&amp;do=diff</link>
        <description>Spouštíme Visual Studio

Promiňte, že následující instukce budou připomínat obrázkový komix :-)

Po startu Visual Studia vybereme &quot;Create New Project&quot;



Nebo z hlavního menu



Vybereme konzolovou aplikaci v jazyce C++ pro Windows.

Vybereme</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:second_2022&amp;rev=1666795626&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-26T14:47:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>second_2022</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:second_2022&amp;rev=1666795626&amp;do=diff</link>
        <description>#include &lt;iostream&gt;
using namespace std;

int main()
{
    double a, b, c;

    if (false)
    {
        cout &lt;&lt; &quot;Vlozte cislo a: &quot;;
        cin &gt;&gt; a;

        cout &lt;&lt; &quot;Vlozte cislo b: &quot;;
        cin &gt;&gt; b;

        cout &lt;&lt; &quot;Vlozte cislo c: &quot;;
        cin &gt;&gt; c;
    }
    else 
    {
        a = 1;
        b = 0;
        c = 4;
    }

    double D = b * b - 4 * a * c;

    if (D &gt;= 0)
    {
        double x1 = (-b + sqrt(D)) / (2 * a);
        double x2 = (-b - sqrt(D)) / (2 * a);

        cout &lt;&lt;…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:second&amp;rev=1631280233&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-10T13:23:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>second</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:second&amp;rev=1631280233&amp;do=diff</link>
        <description>Kvadratická rovnice

Naprogramujeme řešení kvadratické rovnice. 

Vysvětlení include , using namespace a main naleznete v prvním příkladu.


#include &lt;iostream&gt;
using namespace std;

int main()
{
    cout &lt;&lt; &quot;Zadejte koeficienty kvadraticke rovnice ax^2 + bx + c = 0&quot; &lt;&lt; endl;

    double a, b, c;
    cout &lt;&lt; &quot;Zadejte a : &quot;;
    cin &gt;&gt; a;

    cout &lt;&lt; &quot;Zadejte b : &quot;; cin &gt;&gt; b; 
    cout &lt;&lt; &quot;Zadejte c : &quot;; cin &gt;&gt; c; 
    cout &lt;&lt; endl;

    cout &lt;&lt; &quot;Kvadraticka rovnice &quot; &lt;&lt; a &lt;&lt; &quot; * x^2 + &quot; &lt;&lt; b &lt;&lt;…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:soustava&amp;rev=1740322326&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-23T14:52:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>soustava</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:soustava&amp;rev=1740322326&amp;do=diff</link>
        <description>input.txt


2  4  4  42
1  2  7  46
2  2  0  14




#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;iomanip&gt;
#include &lt;string&gt;
using namespace std;

const int M = 3; // pocet radku
const int N = 4; // pocet sloupcu
typedef double T; // typ T = double

void clear(T p[M][N])
{
    for (int i = 0; i &lt; M; i++)
        for (int j = 0; j &lt; N; j++)
            p[i][j] = 0;
}

string name[] = { &quot;x&quot;, &quot;y&quot;, &quot;z&quot;, &quot;&quot; };
string separator[] = { &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot; = &quot; };
bool znam[] = { false, true, true, false};
i…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:template&amp;rev=1602519657&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-12T16:20:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>template</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:template&amp;rev=1602519657&amp;do=diff</link>
        <description>#include &lt;iostream&gt;
using namespace std;

template &lt;typename T, int N&gt;
class Array
{
private:
    T data [N];
public:
    T &amp; operator [] (int i) { return data [i]; }
};

template &lt;typename T, int N&gt;
void sort (Array &lt;T, N&gt; &amp; p)
{
    for (int k = 0; k &lt; N; k ++)
    {
        for (int i = 0; i &lt; N-k-1; i ++)
        {
            if (p[i] &gt; p[i+1])
            {
                // prohodime p[i] , p[i+1]
                T tmp = p[i];
                p[i] = p[i+1];
                p[i+1] = tmp;
…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree_ct&amp;rev=1606400395&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-26T14:19:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tree_ct</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree_ct&amp;rev=1606400395&amp;do=diff</link>
        <description>Strom vytvořený pomocí seznamů


#include &lt;iostream&gt;
#undef NDEBUG
#include &lt;cassert&gt;
using namespace std;

class Item
{
public:
    string name;
    int    r, g, b;
private:
    Item* above;
    Item* prev;
    Item* next;
    Item* first;
    Item* last;
public:
    Item* getAbove () { return above; }
    Item* getPrev () { return prev; }
    Item* getNext () { return next; }
    Item* getFirst () { return first; }
    Item* getLast () { return last; }
    bool empty () { return first == nullp…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree_st&amp;rev=1606925604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-02T16:13:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tree_st</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree_st&amp;rev=1606925604&amp;do=diff</link>
        <description>Strom vytvořený pomocí seznamů


#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

class Item;

class Item
{
public:
    string name;
    int    r, g, b;
private:
    Item * above;
    Item * prev;
    Item * next;
    Item * first;
    Item * last;
public:
    Item * getAbove () { return above; }
    Item * getPrev () { return prev; }
    Item * getNext () { return next; }
    Item * getFirst () { return first; }
    Item * getLast () { return last; }
    bool empty () { return first…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree&amp;rev=1605798536&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-19T15:08:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tree</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:tree&amp;rev=1605798536&amp;do=diff</link>
        <description>#include &lt;iostream&gt;
#include &lt;cassert&gt;
using namespace std;

class Item;

class Item
{
public:
    string name;
    int    r, g, b;
private:
    Item * above;
    Item * first;
    Item * last;
    Item * prev;
    Item * next;
public:
    Item * getAbove () { return above; }
    Item * getFirst () { return first; }
    Item * getLast () { return last; }
    Item * getPrev () { return prev; }
    Item * getNext () { return next; }
    bool empty () { return first == nullptr; }
private:
    void …</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:zlomky&amp;rev=1608135542&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-16T16:19:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zlomky</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:zlomky&amp;rev=1608135542&amp;do=diff</link>
        <description>Zlomky


#include &lt;iostream&gt;
using namespace std;

class Zlomek
{
public:
    int cit, jm;
    
    Zlomek add (Zlomek w);
    Zlomek operator + (Zlomek w) { return this-&gt;add (w); }

    Zlomek operator * (Zlomek w);

    void print ();

    Zlomek (int cit0 = 0, int jm0 = 1) : cit (cit0), jm (jm0) { }
    ~Zlomek ();
};

Zlomek::~Zlomek ()
{
    // delete ...
}

void Zlomek::print ()
{
    cout &lt;&lt; cit &lt;&lt; &quot; / &quot; &lt;&lt; jm;
}

Zlomek Zlomek::add (Zlomek w)
{
    cout &lt;&lt; &quot;scitani &quot;;
    this-&gt;print ();…</description>
    </item>
    <item rdf:about="https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:zpro&amp;rev=1740322134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-23T14:48:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zpro</title>
        <link>https://kmlinux.fjfi.cvut.cz/~culikzde/wiki/doku.php?id=zpro:zpro&amp;rev=1740322134&amp;do=diff</link>
        <description>Letošní příklady

&lt;https://gitlab.fjfi.cvut.cz/culikzde/zpro-2022&gt;

Vývojová prostředí

Pokuste se nainstalovat některé vývojové prostředí ide

Online překladače

Pokud nechcete vývojové prostředí zatím instalovat, 
můžetete zkusit některé z webových prostředí online překladače

Spouštíme Visual Studio</description>
    </item>
</rdf:RDF>
