Úvod

Polia používame vtedy, keď potrebujeme v pamäti evidovať a spracovávať veľké množstvo údajov (tabuľky hodnôt, zoznamy čísel...).

Pole zadeklarujeme:

float v[7];

V pamäti vznikne 7 premenných typu float, ktoré sú uložené postupne za sebou - takúto údajovú štruktúru nazývame pole (anglicky array). Jednotlivým premenným hovoríme prvky poľa {pole v má 7 prvkov):

v[0] v[1] v[2] ... v[6]

...

S prvkami pracujeme pomocou indexov: v[0], v[1], v[2], ..., v[6]. Napríklad, výraz v[2] predstavuje v poradí tretí prvok poľa (pozor na číslovanie od nuly). Prvok v[2] je už jednoduchá premennú typu float.

v[0]=12.3; // teplota v pondelok v[1]=13.7; // teplota v utorok v[2]=18.5; // teplota v stredu ... v[6]=10.4; // teplota v nedeľu

Po priradeniach budú v poli uložené hodnoty:

v[0] v[1] v[2] ... v[6]

12,3

13,7

18,5 ...

10,4

Výpočet priemeru z nameraných hodnôt:

float priemer; priemer=(v[0]+v[1]+v[2]+v[3]+v[4]+v[5]+v [6])/7;

Na vypočítanie priemeru máme aj elegantnejšie riešenie. Vieme, že v hranatých zátvorkách sa uvádza index prvku. Index nemusí byť iba konštanta, ale môže to byť aj výraz, napríklad:

v[5-3]=18.5; // je to isté ako v[2]=18.5;

alebo aj:

int a=5; v[a-3]=78.5; // opäť pracujeme s prvkom v[2]

Výpočet priemernej hodnoty:

void __fastcall TForm1::Button1Click(TObject *Sender) { float v[7]; float priemer=0; int i; v[0]=12.3; // teplota v pondelok v[1]=13.7; // teplota v utorok v[2]=18.5; // teplota v stredu v[3]=16.1; v[4]=14.3; v[5]=17.9; v[6]=10.4; // teplota v nedeľu for (i=0; iTextOut(0, 0, priemer); }

Výpis nadpriemerných hodnôt (pokračujeme v predchádzajúcej funkcii): int y=20; for (i=0; i=priem) { // zaujímajú nás iba nadpriemerné hodnoty g->TextOut(0, y, v[i]); y=y+15; }

Hľadanie maximálnej hodnoty:

int max; max=v[0]; for (i=1; i=1, ale nesmie byť príliš veľký (inak by sa pole nezmestilo do pamäte). Počet prvkov poľa musí byť známy už pri kompilácii (vo výraze nesmú byť premenné).

  • 2. Predchádzajúcou deklaráciu vznikne pole, ktoré má prvky meno[0], ... , meno[index], ... meno[počet-1]. My sami sa musíme postarať o to, aby sme indexovali iba existujúce prvky poľa, t.j. aby vždy platilo, že: