Ako používať viacrozmerné polia v programovaní C.

Autor: Dan Gookin

Ak potrebujete popísať položky v druhej alebo tretej dimenzii, môžete pomocou programovania C vykúzliť multidimenzionálny typ poľa.

Ako vytvoriť dvojrozmerné pole

Pomáha myslieť na dvojrozmerné pole ako na mriežku riadkov a stĺpcov. Príkladom tohto typu poľa je šachová doska - mriežka s 8 riadkami a 8 stĺpcami. Aj keď môžete vyhlásiť jediné 64-prvkové pole na zvládnutie úlohy predstavujúcej šachovú dosku, dvojrozmerné pole funguje lepšie. Takéto niečo by bolo vyhlásené takto:



int chess[8][8];

Dve hranaté zátvorky definujú dva rôzne rozmery šachovej poľa: 8 riadkov a 8 stĺpcov. Štvorec umiestnený v prvom riadku a stĺpci by bol označený ako šach [0] [0]. Posledný štvorec v tomto rade by bol šach [0] [7] a posledný štvorec na šachovnici by bol šach [7] [7].

V nástroji Tic-Tac-Toe sa pomocou dvojrozmernej matice vytvorí jednoduchá doska tic-tac-toe: 3 x 3. Riadky 9 až 11 vypĺňajú maticu. Riadok 12 pridáva znak X na stredový štvorec.

ischemická choroba srdca vs kardiovaskulárne ochorenie

PIŠKÔRKY

#include int main() { char tictactoe[3][3]; int x,y; /* initialize matrix */ for(x=0;x<3;x++) for(y=0;y<3;y++) tictactoe[x][y]='.'; tictactoe[1][1] = 'X'; /* display game board */ puts('Ready to play Tic-Tac-Toe?'); for(x=0;x<3;x++) { for(y=0;y<3;y++) printf('%ct',tictactoe[x][y]); putchar('n'); } return(0); }

Riadky 14 až 21 zobrazujú maticu. Rovnako ako pri jeho vytváraní sa matica zobrazuje pomocou vnorenej slučky for.

Cvičenie 1 : Vytvorte nový projekt pomocou zdrojového kódu zobrazeného v aplikácii Tic-Tac-Toe. Stavajte a bežte.

Typ dvojrozmerného poľa, ktoré je celkom ľahko pochopiteľné, je pole reťazcov, ako je znázornené v poli Array of Strings.

POLE Šnúrok

čo je luo han guo
#include #define SIZE 3 int main() { char president[SIZE][8] = { 'Clinton', 'Bush', 'Obama' }; int x,index; for(x=0;xLine 7 in An Array of Strings declares a two-dimensional char array: president. The first value in square brackets is the number of items (strings) in the array. The second value in square brackets is the maximum size required to hold the largest string. The largest string is Clinton with seven letters, so eight characters are required, which includes the terminating or null character.

Because all items in the array’s second dimension must have the same number of elements, all strings are stored using eight characters. Yep, that’s wasteful, but it’s the way the system works.

image0.jpg

čo je pro air

Exercise 2 : Type the source code from An Array of Strings into your editor; build and run the program.

The statements basically plod through the president array’s second dimension, spitting out one character at a time.

Exercise 3: Replace Lines 15 through 23 in An Array of Strings with a single puts() function to display the string. Here’s how that statement looks:

puts(president[x]);

Pri práci s reťazcovými prvkami v poli je na reťazec odkazovaná iba prvá dimenzia.

Cvičenie 4 : Upravte svoj zdrojový kód z cvičenia 3 tak, aby boli do poľa pridaní ďalší traja prezidenti: Washington, Adams a Jefferson.

Ako vytvárať trojrozmerné polia

Dvojrozmerné polia sú v programovacej oblasti dosť bežné. Multidimenzionálny je šialený!

očné kvapky neo poly dex

No možno nie. Troj- a štvorrozmerné polia majú svoje miesto. Veľkou otázkou je, že váš ľudský mozog má problém udržať krok s rôznymi možnými rozmermi.

Going 3D ilustruje kód, ktorý pracuje s trojrozmerným poľom. Deklarácia sa nachádza na riadku 5. Tretia dimenzia je jednoducho tretia sada hranatých zátvoriek, ktorá efektívne vytvára 3D herný plán piškvorky.

BUDE 3D

#include int main() { char tictactoe[3][3][3]; int x,y,z; /* initialize matrix */ for(x=0;x<3;x++) for(y=0;y<3;y++) for(z=0;z<3;z++) tictactoe[x][y][z]='.'; tictactoe[1][1][1] = 'X'; /* display game board */ puts('Ready to play 3D Tic-Tac-Toe?'); for(z=0;z<3;z++) { printf('Level %dn',z+1); for(x=0;x<3;x++) { for(y=0;y<3;y++) printf('%ct',tictactoe[x][y][z]); putchar('n'); } } return(0); }

Riadky 8 až 12 plnia pole údajmi pomocou premenných X , Y. a s ako trojrozmerné súradnice. Riadok 13 umiestňuje znak X do stredovej kocky, čo vám dáva predstavu o tom, ako sa na jednotlivé prvky odkazuje.

dávka metylkobalamínu na neuropatiu

Zvyšok kódu z riadkov 15 až 26 zobrazuje maticu.

Cvičenie 5 : Vytvorte program trojrozmerného poľa pomocou zdrojového kódu programu Going 3D. Stavajte a bežte.

Je smutné, že výstup je dvojrozmerný.