spse:pm1:vicerozmerne_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

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
spse:pm1:vicerozmerne_pole [2021/02/15 21:19] jendaspse:pm1:vicerozmerne_pole [2024/07/07 16:48] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +~~NOCACHE~~
 +~~REVEAL theme=dokuwiki&transition=convex&controls=1&show_progress_bar=1&build_all_lists=1&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1480x960~~
 +
 ====== Vícerozměrná pole ====== ====== Vícerozměrná pole ======
  
 ===== Dvourozměrné pole ===== ===== Dvourozměrné pole =====
  
-Dvourozměrné pole si můžeme v paměti představit jako tabulku a mohli bychom takto reprezentovat např. rozehranou partii piškvorek. Pokud bychom se chtěli držet reálných aplikací, které budete později v zaměstnání tvořit, můžeme si představit, že do 2D pole budeme ukládat informace o obsazenostech sedadel v kinosálu. Situaci bychom si mohli graficky znázornit např. takto: +  * Dvourozměrné pole si můžeme v paměti představit jako tabulku a mohli bychom takto reprezentovat např. rozehranou partii piškvorek. Pokud bychom se chtěli držet reálných aplikací, které budete později v zaměstnání tvořit, můžeme si představit, že do 2D pole budeme ukládat informace o obsazenostech sedadel v kinosálu. Situaci bychom si mohli graficky znázornit např. takto: 
 +<fragment-block>
 {{:spse:pm1:pasted:20210215-211049.png}} {{:spse:pm1:pasted:20210215-211049.png}}
- +</fragment-block> 
-Kinosál by byl v praxi samozřejmě větší, ale jako ukázka nám toto pole postačí. 0 znamená volno, 1 obsazeno. Později bychom mohli doplnit i 2 - rezervováno a podobně. Pro tyto stavy by bylo správnější vytvořit nějaké konstanty, ale s tím se setkáme až později, takže si teď musíme vystačit pouze s čísly. +  Kinosál by byl v praxi samozřejmě větší, ale jako ukázka nám toto pole postačí. 0 znamená volno, 1 obsazeno. Později bychom mohli doplnit i 2 - rezervováno a podobně. Pro tyto stavy by bylo správnější vytvořit nějaké konstanty, ale s tím se setkáme až později, takže si teď musíme vystačit pouze s čísly. 
- +----> 
-2D pole deklarujeme v C následujícím způsobem:+  2D pole deklarujeme v C následujícím způsobem:
  
 <fragment-block> <fragment-block>
Řádek 16: Řádek 19:
 int i, j; int i, j;
 // Naplnění nulami // Naplnění nulami
-for (j = 0; j < 5; j++) +for (j = 0; j < 5; j++){ 
-    for (i = 0; i < 5; i++)+    for (i = 0; i < 5; i++){
         kinosal[j][i] = 0;         kinosal[j][i] = 0;
 +}
 +    }
 </code> </code>
 </fragment-block> </fragment-block>
 +<----
 ==== Modifikace ==== ==== Modifikace ====
-Nyní kinosál naplníme jedničkami tak, jak je vidět na obrázku výše. Protože budeme jako správní programátoři líní, využijeme k vytvoření řádku jedniček for cykly :) Pro přístup k prvku 2D pole musíme samozřejmě zadat 2 souřadnice.+  * Nyní kinosál naplníme jedničkami tak, jak je vidět na obrázku výše. Protože budeme jako správní programátoři líní, využijeme k vytvoření řádku jedniček for cykly :) Pro přístup k prvku 2D pole musíme samozřejmě zadat 2 souřadnice.
  
 <fragment-block> <fragment-block>
Řádek 58: Řádek 63:
 ===== N-rozměrná pole ===== ===== N-rozměrná pole =====
   * Někdy může být příhodné vytvořit si pole o ještě více dimenzích. My všichni si jistě dokážeme představit minimálně 3D pole. S příkladem s kinosálem se nabízí případ užití, kdy má budova více pater (nebo obecně více kinosálů). Vizualizace by vypadala asi nějak takto:   * Někdy může být příhodné vytvořit si pole o ještě více dimenzích. My všichni si jistě dokážeme představit minimálně 3D pole. S příkladem s kinosálem se nabízí případ užití, kdy má budova více pater (nebo obecně více kinosálů). Vizualizace by vypadala asi nějak takto:
 +<fragment-block>
 {{:spse:pm1:pasted:20210215-211601.png}} {{:spse:pm1:pasted:20210215-211601.png}}
 +</fragment-block>
   * Vytvoření 3D pole:   * Vytvoření 3D pole:
  
Řádek 93: Řádek 99:
  
  
 +==== Zdroje ====
  
 +https://www.itnetwork.cz/cecko/zaklady/vicerozmerna-pole-v-jazyce-c
  
  
  • spse/pm1/vicerozmerne_pole.1613423981.txt.gz
  • Poslední úprava: 2024/07/07 16:48
  • (upraveno mimo DokuWiki)