Tömbök c

A tömbök úgy vannak kialakítva, hogy tárolja számos értéket az azonos típusú. Például a program Fahrenheit fok, kiszámítjuk az átlagos hőmérséklet a három közül. Ha az értékek nem három, hanem sokkal inkább, akkor csak meg kell használni tömbök.

Használat előtt egy tömb, meg kell határozni. Meghatározása tömb tartalmazza: a tárolt adatok típusa a tömbben, a tömb neve szögletes zárójelben számát jelzi a tömb elemeinek:

Ebben a kódot, már azonosított egy tömb azonosítója (neve): array (tömb) a tíz elemét int típusú.
Ily módon az összes elemet a tömb még nem inicializált. Inicializálni őket egy broadcast üzenetet, használja a következő szintaxist:

int array [10] =;

Ily módon az első elem a tömb van rendelve egy 0 érték, és az utolsó - a 9-es értéket.
Értéket rendelni a tömb elemeinek, akkor a ciklus. A legalkalmasabb erre a ciklusra való.

Itt viszont minden eleme a tömb keresztül az index - a számot szögletes zárójelben. vesz fel értékeket nulláról 9 Minden iterációban a hurok.

Megjegyezzük, hogy a számozás az index a nulláról kezdi. Ezért a száma indexek mindig eggyel kevesebb, mint a tömb elemeinek számát.

Kivéve a szögletes zárójelek és az index a tömb elem is használható, mint bármely más változó.

Eddig csak tárolni húrok állandók: „Egy példa a konstans string”. A változók tudjuk tárolni csak egy karakter - a char típus. A C ++ használ két típusú vonalak: egy sor char és típusa str. Most arra összpontosítunk az első lehetőség.

Ahhoz, hogy tartsa a húr van szükségünk egy tömbben. Úgy néz ki, mint ez:

Szerencsére van egy könnyebb út :)

char string [] = "string";

Ebben az esetben, akkor automatikusan létrehozunk egy tömböt a hét elemet. Miért hét? Az a tény, hogy minden sort kell végződnie egy karakter konstans „\ 0”, ami egy üres byte.

Az előző példákban, ha megpróbáljuk lép tömb string több mint hat karakter, lesz egy tömb túlcsordulás miatt Nem lehet megváltoztatni a mérete a tömb futási időben (bár nem mindig):

char string [7]; // karakterláncot tud tárolni hat karakter és a „\ 0”

string = "string"; // string tartalmazza hét karakter
nem ajánlott megtenni :)

Egy másik pont, amelyre szeretném felhívni a figyelmet. Amikor a felhasználó belép egy húr, terek számít „\ 0”. Nem fogjuk be a sorok a programokat, így nem fogok részletesen ismertesse a jelen esetben.

Tömbök tömbök (kétdimenziós tömbök)

Végül elérkeztünk a legfontosabb ebben a kérdésben.

Térkép a stratégiai (és nem csak) játékok (RTS) cellákra van felosztva (angolul - cserép, csempe). Ezeket a sejteket kényelmesen képviselők egy kétdimenziós tömbben.

Ebben a példában, akkor továbbra is együtt dolgozni pseudo_game program segítségével egy kétdimenziós tömböt szimulálni egy térképet, amelyen játékos léphet. Eddig „peremeschienie” által képviselt x, y koordinátákra.

Sejtekben a karakterek ábrázolására. Méret "kártya" - 15x20. Tizenöt magas, dvadtsvat széles. A játékos azt fogja képviselni a szimbólum T.

Először adja hozzá a header file stdlib.h.

Itt az új üzemeltető a számunkra, hogy meghatározza a kétdimenziós tömb. De ez szinte megkülönböztethetetlen az egydimenziós, csak hozzá még egy pár szögletes zárójel. Az első zárójelben megadjuk a sorok számát, a második - az oszlopok számát.

Ezt követően a két ciklus, akkor inicializálni minden tömb elem értéke „” - ez csak egy szóközt. Az első - a külső hurok, végigmegyünk az összes sort. Minden egyes sor a belső hurok, mi „végigmenni” az oszlopokat.

Ahhoz, hogy egy részletes példát, miután több iteráció a külső hurok, a számláló i egyenlővé válik 9. kezdődik végző külső hurok test: a változó j (belső hurok számlálót) nullára inicializálunk, a feltétel ellenőriz és hajt végre a belső hurok test: térkép [9] [0] = „” ,, hogy az első karakter (index nulla) a tizedik sorban (ne felejtsük el, hogy a szám nulla) van rendelve egy helyet. Ezután, a számláló j van hozzárendelve 1, a hurok test fut. és így, amíg a számláló j válik egyenlő 20 - nem ez a helyzet, és van egy módja ki a belső hurok. Ezután egy külső számláló növekszik. Most ez egyenlő 10 és a külső test ismét végre ciklusban.

Miután indítása, a terek már az első oszlopban az első sorban fel a karakter a játékunk.

Az elején, hívjuk a system () függvény, hogy törölje a képernyőt a legutóbbi teljesítménye a fő hurok.

Majd két ciklusban hasonló inicializálás ciklus. Arra használatosak, hogy az elemeknek a megjelenítéséhez a tömb a képernyőre. Az egyetlen lényeges különbség kiadási sor karakter végén a hurok.

Nos, akkor van egy elágazás, ahol megállapítjuk, hogy melyik gombot megnyomja. Felesleges elágazások alig változott azóta, hogy utoljára, de vannak különbségek a tartalom blokkok: Először is, mi hozzá a koordinátákat, amelyen van egy hely objektumot. Vagyis, mi törölje az előző helyen. Aztán változtatni az egyik koordináta. És akkor, az elem a tömb az új indexek, rendelünk egy „T” szimbólum.

Példa kód „75” - balra:

Nos, ez általában minden. Abban a pillanatban, hogy van egy térkép 15x20 amelyen segítségével nyilakkal lehet mozgatni a karaktert - a „T” betű. A hatodik leckét is! Ez az alkalmazás lesz az alapja minden konzolos programok. Nem grafikus fejlesztések nem fog megtörténni. Több mint egy DOS konzol nyomja össze ablak konzol nem kell figyelembe venni. Ez lesz időt és energiát takarítva.

1. A teljes lista a program, amit használni elágazás kapcsolót. Itt a kód, ha egy elágazási egységet. Töltse ki a többi blokk ha.

2. Most a program lehet rögzíteni egy nem létező tömb elemeit. Készíts egy ellenőrzést a termelés a térképen.

3. gyakorlat, hozzon létre egy programot risuyuschuyu két területen képernyő haditengerészeti harcban. Az első - a játékos, a második - az ellenség. A második mező kell jobbra található az első.
Belső sejtek a hiányosságok pótlására. Kell felhívni a határ a negatív és közvetlen választóvonal -, |, és a szögek - # rácsot. A bal oldalon az egyes mezők - stobik számjegy; top - a leveleket.
Inicializálni minden mezőt, akkor szükség lehet több ciklusban. Íme a tunhet, hogy töltse az oszlop számait a második mezőben:

Legújabb a fórumon

WapCash → Wap.cash - a legjobb megoldás bevételszerzésről mobilforgalmat
Barátok, hello! Mi nem csak egy új szereplő MTS Belaruszban egy kupacban.

Edvard007 → Mi van, ha Insorg blokkolt
Kedves felhasználók. Van hozzá egy plugin, hogy megkerülje a zár Insorg oldalakat brauz.

Appfoxapp → igényel Unity fejlesztő távmunka
Igényel Unity fejlesztő távmunka, a menetrend 5-2 egy 10,00-19,00 n.

proxyan → Service PROXYAN.net - vesz egy megbízható szerver proxy, gyors HTTP / zokni
Különleges ajánlat! Aktiválódik, amikor a kifizető 6DCEBF5601DF48B7 promóciós kódot, és kap 5% kedvezményt. Az akció érvényes.

dimaCyberpunk → játékfejlesztés: Chronicles cyberpunk
A technikai része a fejlődés befejeződött, mehet a játék elejétől a végéig. Továbbra is csak.

ZARR → motivált telepíteni Android-alkalmazások
Szolgáltatás android alkalmazás-fejlesztők, kínálja a legolcsóbb motivált telepítést.

Barátaink

Kapcsolódó cikkek