Fellebbezést a tömb elemeinek

Vonatkozó utalások minden olyan eleme a tömb a tömb nevét és a sorozatszámot az elem, jelezve a relatív pozícióját egyéb elemek mellett. Ez a szám az úgynevezett index; Az index rögzített szögletes zárójelben. Ennek alapján az indexelést C kezdődik elölről. azaz index változik 0 és N-1, ahol N - a tömb elemeinek számát.
Így, ha a tömb kijelentette:

annak egyes elemei vannak feltüntetve:

Vagyis bármely eleme a tömb lehet elérni, ha megadja annak nevét és zárójelben az index. Például:

Ezek egyes elemei a tömb a programot lehet használni, mint a közönséges változók.
Mint egy indexet is jelöljük, bármely egész változó korábban alkalmazott, hogy meghatározza annak értékét. Fent indexek ilyen változók aritmetikai műveletek végrehajtását:

Mivel a tömb - egy adathalmaz írja, mint egy egyszerű változó nem lehetséges. A tömb elemeit be egyenként.
Ha a tömb nagyon kicsi, például, amelyek összesen négy elem:

beírhatja azt a négy funkció scanf:

scanf ( "% f", s [0]);
scanf ( "% f", s [1]);
scanf ( "% f", s [2]);
scanf ( "% f", s [3]);

vagy használja az egy funkció:

Ugyanakkor a valós problémákra, mint általában, sokkal több tömböt, így segítségével adjuk hurok nyilatkozatot. Előre kell dönteni, hogy a tényleges elemeinek számát, amelyekkel a program működni fog.
Tegyük fel, hogy a következő leírás a tömböt:

Az elemek száma 100 jelzi mozgásteret; program is működni egy sor, amely két, nyolc, ötven és általában tetszőleges számú elem kisebb, vagy egyenlő, mint 100. Ebből következik, korábban leírt változó egész típusú, például az N - tényleges elemeinek számát, és adja meg ezt az értéket. Bemutatjuk továbbá a változó i - beállítás ciklus:

int n, i;
printf ( „\ n Használd a tömb elemeinek számát <=100\n");
scanf ( "", n);

Most lehet szervezni egy ciklust, hogy adja meg a tömbben. Egy sor a legkényelmesebb használni hurok nyilatkozat egy paraméterrel (mit gondolsz, miért?):

for (i = 0; i printf ( "\ nAdja elem \ n");
scanf ( "", A [i]); // bemeneti elem
>

Most, hogy hogyan lehet fájlszámai input tömb. Emlékszünk, hogy az elválasztó értékek bevitelekor a billentyűzet üres. Elvileg minden lehet megadni „összhangban” a tér:

9 8 7 6 5 4 3 2

A program veszi őket egyesével a bemeneti áram minden alkalommal találkozik funkció scanf. De ez a bejegyzés úgy néz ki, csúnya (próbálja ki, nézze meg!). Sokkal kényelmesebb, amikor belép a következő elem az első megjelenítéséhez a célzást szöveg arra kéri, hogy adja meg a elemet, majd adja meg a tételeket egyenként, minden egyes alkalommal az Enter billentyű megnyomásával.
Nyomtatás a tömb a képernyőt, túl, az egyik eleme, azaz a a ciklus operátor:

for (i = 0; i printf ( "\ n.", A [i]); // Display elem
>

Most gyűjtsük össze az egészet. A következő program először kér egy kis számú a tömb elemeinek, majd bevezeti őket egyesével az érték és jeleníti meg:

munkaprogram protokoll:

Tesztelje tudását

1. Hogyan írjuk le a tömböt a programban?
2. Hogyan tudom hány byte memóriát osztják ki a fordító egy tömböt?
3. Miért elérésekor a tömb elemeit az index?
4. milyen értéket kezdődik a számozás a tömb elemeinek?
5. Mit lehet tenni az indexek?
6. Miért, ha dolgozik, tömbök szüksége egy operátor ciklusban?

2. Feladatok önálló munka lecke 13

3. Minden feladatokat kell dolgoznia egy programot C nyelven.

4. Adjuk meg a elemet A [0]
12
Type elem A [1]
44
Type elem A [2]
65
. stb

5. 2. Ismertesse a tömb A. Írja be a tömb. Kimenet elemei a tömb fordított sorrendben (Megjegyzés: használjon egy hurkot csökkenő értéke a paraméter).

7. 4. Írj egy programot, amely kiszámítja a háromszög területe az alábbi képlet segítségével a Heron. A oldalainak hossza, hogy helyezze a tömb.

Lecke 14. Műveletek tömbökkel

10. Annak megállapítására, a tömb a lehető inicializálás. t. e. hozzárendelését kezdeti értékeinek elemek. A kezdeti értékek vannak írva a zárójelek után leírások a tömb és a következő leírás az egyenlőségjel.
Példák a különböző módszerek inicializáló tömbök:

12. egy sor olyan sejtek számának egyértelműen jelezte (zárójelben). Egy tömb b szögletes zárójelben nem más, mint a C fordító lehetővé egy ilyen leírást. A hossza a tömb a második esetben, a fordító kiszámolja a kezdeti értékek felsorolt ​​inicializálás. Miután az ilyen meghatározás elem
b [0] egyenlő 3,
b [1] 6, és m. g. a B [4]. amely egyenlő 7.
Így a második tömb lesz kiosztva a memória sejtek 5, számuk változik 0 és 4 közötti.
Inicializálás nagyon kényelmes a színpadon a hibakeresés, hogy minden alkalommal nem adja meg újra az összes elemet a tömb. Természetesen a program során tartalmát a tömb lehet változtatni.

Hozzászólások tömbök

14. Együttműködik tömbök több algoritmusok. Némelyikük hasonlóak, hogy tárgyalt a problémákat a szekvencia (téma 8. lecke 11).
A fő különbség a szekvenciája a tömb, hogy az elemek a szekvenciát viszünk be ugyanabba a sejtbe, és miután a bemenet a következő előző szám „felülírja”. A tömb minden érték elmentésre kerülnek és akkor nézze meg őket többször. Ez nyit lehetőséget számos programozási feladatokat.
Sok algoritmusok feldolgozását tömbök alapul egyszerű alapvető algoritmusok.
Az alapvető programozási funkciók egydimenziós tömbök a következő:
1. Az elemek összege a tömbben.
2. Hogy a maximális (minimális) tömb.
3. Hogy a maximális elemszám.
4. Count az elemek száma, amelyek megfelelnek a feltételt.

15. #include
#include
int main ()
úszó egy [30]; // a - egy sor valós számok
int számítanak; // számít - a tényleges száma elemek, egész szám változó
int i; // Változó Working
float S; // S - összege a tömb elemeinek
printf ( „Adja meg a tömb elemeinek számát <=30\n");
scanf ( "", szám); // Írja be a tényleges száma a tömb elemeinek
for (i = 0; i printf ( "Enter az elem \ n");
scanf ( "% f", a [i]);
>
// Itt kezdődik a összeg kiszámítása
S = 0; // Zero cella értéke S
for (i = 0; i S = S + a [i]; // az összeg a felhalmozási
S = S / számít; // Keresse meg a számtani átlaga az eredményt - a sejtben S
printf ( "számtani átlag =% f \ n", S); // megjeleníti az eredményt nyomtatás
vissza 0;
>

Hogyan javíthatom ezt a kódot

End-of-formáktól

Kapcsolódó cikkek