Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| ccpp:array [2020/05/18 10:46] – bures | ccpp:array [2023/02/27 08:54] (aktuální) – bures | ||
|---|---|---|---|
| Řádek 3: | Řádek 3: | ||
| ===== Jednorozměrné pole ===== | ===== Jednorozměrné pole ===== | ||
| - | Nejzákladnější verze pole je jednorozměré, | + | Nejzákladnější verze pole je tzv. jednorozměré |
| <code c> | <code c> | ||
| Řádek 13: | Řádek 13: | ||
| ==== Deklarace ==== | ==== Deklarace ==== | ||
| - | Syntaxe deklarace pole vypadá následovně: | + | Syntaxe deklarace pole vypadá následovně: |
| === Příklad === | === Příklad === | ||
| Řádek 29: | Řádek 29: | ||
| int pole[4] = {1, 2, 3, 4}; // inicializace pole hodnotami 1, 2, 3, 4. | int pole[4] = {1, 2, 3, 4}; // inicializace pole hodnotami 1, 2, 3, 4. | ||
| char pole2[] = {' | char pole2[] = {' | ||
| + | short pole3[100] = {10, 20, 30}; // Prvni 3 položky maji dané hodnoty, zbytek je doplněn hodnotou 0 | ||
| </ | </ | ||
| Řádek 64: | Řádek 65: | ||
| </ | </ | ||
| Zkuste spočítat jak by bylo veliké pole '' | Zkuste spočítat jak by bylo veliké pole '' | ||
| - | more TBA! | + | |
| + | ==== Incializace ==== | ||
| + | Prvky pole můžeme opět v rámci deklarace rovnou inicializovat. Opět pomocí složených závorek, které se ale tentokrát do sebe zanořují podle rozměrů. Je třeba uvažovat nad celou věcí jako nad "polem polí" | ||
| + | |||
| + | === Příklad dvourozměrného pole === | ||
| + | Matice identity ([[https:// | ||
| + | <code c> | ||
| + | float identity[3][3] = { {1.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 1.0f} }; | ||
| + | | ||
| + | | ||
| + | První rozměr (řádky) - obsahuje 3 další pole | | ||
| + | | ||
| + | </ | ||
| + | ==== Přístup k položkám vícerozměrného pole ==== | ||
| + | Pro přístup ke konkrétním položkám opět využíváme indexů zapsaných v hranatých závorkách. Avšak musíme uvést index pro každý rozměr. | ||
| + | |||
| + | === Příklad přístupu k položkám v rámci výpisu matice === | ||
| + | <code c> | ||
| + | const int ROWS = 3; | ||
| + | const int COLS = 3; | ||
| + | float identity[ROWS][COLS] = { {1.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 1.0f} }; | ||
| + | |||
| + | for (int row = 0; row < ROWS; ++row) | ||
| + | { | ||
| + | putchar(' | ||
| + | for (int col = 0; col < COLS; ++col) | ||
| + | { | ||
| + | printf(" | ||
| + | } | ||
| + | putchar(' | ||
| + | putchar(' | ||
| + | } | ||
| + | </ | ||