spse:pm1:pole

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
spse:pm1:pole [2021/01/25 22:49] – vytvořeno jendaspse:pm1:pole [2024/07/07 16:48] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 11: Řádek 11:
 {{:spse:pm1:pasted:20210125-224841.png}} {{:spse:pm1:pasted:20210125-224841.png}}
  
-  * Pro hromadnou manipulaci s prvky pole se používají cykly. 
   * Pole deklarujeme jako běžnou proměnnou, pouze za její název uvedeme hranaté závorky s počtem prvků:   * Pole deklarujeme jako běžnou proměnnou, pouze za její název uvedeme hranaté závorky s počtem prvků:
 +<fragment-block>
 <code c> <code c>
- 
-</code> 
 int pole[10]; int pole[10];
-Slovo pole je samozřejmě název naší proměnné. Nyní máme v proměnné pole pole o velikosti deseti typů int. Jelikož jsme pole teprve založili a operační systém nám pro něj přidělil nějakou paměť, kterou mohla předtím používat jiná aplikace, nemůžeme se spolehnout na to, že jsou v poli samé nuly. Stejně dobře v něm zatím mohou být libovolná náhodná čísla.+</code> 
 +</fragment-block>
  
-K prvkům pole poté přistupujeme opět přes hranatou závorku, pojďme na první index (tedy index 0) uložit číslo 1.+  * Slovo pole je samozřejmě název naší proměnné. Nyní máme v proměnné pole pole o velikosti deseti typů int. Jelikož jsme pole teprve založili a operační systém nám pro něj přidělil nějakou paměť, kterou mohla předtím používat jiná aplikace, nemůžeme se spolehnout na to, že jsou v poli samé nuly. Stejně dobře v něm zatím mohou být libovolná náhodná čísla. 
 +  * K prvkům pole poté přistupujeme opět přes hranatou závorku, pojďme na první index (tedy index 0) uložit číslo 1.
  
 +==== Plnění pole ====
 +
 +<fragment-block>
 +<code c>
 int pole[10]; int pole[10];
 pole[0] = 1; pole[0] = 1;
-Plnit pole takto ručně by bylo příliš pracné, použijeme cyklus a naplníme si pole čísly od 1 do 10. K naplnění použijeme for cyklus: +</code> 
 +</fragment-block> 
 +  * Plnit pole takto ručně by bylo příliš pracné, použijeme cyklus a naplníme si pole čísly od 1 do 10. K naplnění použijeme for cyklus: 
 +<fragment-block> 
 +<code c>
 int pole[10]; int pole[10];
 int i; int i;
Řádek 32: Řádek 38:
     pole[i] = i + 1;     pole[i] = i + 1;
 } }
-Pozn.: i + 1 do pole ukládáme proto, že i jde od nuly a my chceme do pole uložit čísla od 1.+</code> 
 +</fragment-block> 
 +  * Pozn.: i + 1 do pole ukládáme proto, že i jde od nuly a my chceme do pole uložit čísla od 1.
  
-Abychom pole vypsali, můžeme za předchozí kód připsat: 
  
- Vyzkoušet Klikni pro editaci+==== Výpis pole ==== 
 + 
 +  * Abychom pole vypsali, můžeme za předchozí kód připsat: 
 + 
 +<fragment-block> 
 +<code c>
 for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
 { {
     printf("%d ", pole[i]);     printf("%d ", pole[i]);
 } }
-Výsledek:+// Výstup1 2 3 4 5 6 7 8 9 10 
 +</code> 
 +</fragment-block>
  
-Konzolová aplikace 1 2 3 4 5 6 7 8 9 10 +==== Naplnění pole při inicializaci ====
-Pole samozřejmě můžeme naplnit ručně a to bez toho, abychom dosazovali postupně do každého indexu. Použijeme k tomu složených závorek a prvky oddělujeme čárkou:+
  
 +  * Pole samozřejmě můžeme naplnit ručně a to i bez toho, abychom dosazovali postupně do každého indexu. Použijeme k tomu složených závorek a prvky oddělujeme čárkou:
 +
 +<fragment-block>
 +<code c>
 int cisla[] = {15, 8, 3, 10, 9, 2, 2}; int cisla[] = {15, 8, 3, 10, 9, 2, 2};
-Všimněte si, že nemusíme udávat velikost pole, překladač si ji odvodí z počtu prvků ve výčtu.+</code> 
 +</fragment-block> 
 + 
 +  * Všimněte si, že nemusíme udávat velikost pole, překladač si ji odvodí z počtu prvků ve výčtu. 
 + 
 +  * Pole často slouží k ukládání mezivýsledků, které se potom dále v programu používají. Když něco potřebujeme 10x, tak to nebudeme 10x počítat, ale spočítáme to jednou a uložíme do pole, odtud poté výsledek jen načteme. 
 + 
 +===== Příklad ===== 
 +  * Napište program s písmeny od A do K. 
 +    * Postupně jej ve for cyklu projděte a vypište. 
  
-Pole často slouží k ukládání mezivýsledků, které se potom dále v programu používají. Když něco potřebujeme 10x, tak to nebudeme 10x počítat, ale spočítáme to jednou a uložíme do pole, odtud poté výsledek jen načteme. 
  • spse/pm1/pole.1611614969.txt.gz
  • Poslední úprava: 2024/07/07 16:48
  • (upraveno mimo DokuWiki)