background image

Algorytmy i struktury danych  

Laboratorium 3  

Tablice 

 
Tablica 
jest złożoną strukturą danych, zawierającą elementy tego samego typu i zajmującą 
ciągły obszar w pamięci. 
Na rys.1 jest pokazana tablica liczb całkowitych  o nazwie c.  
 

-45

6

0

-89

1465

c[0]

c[1]

c[2]

c[3]

c[4]

Nazwa tablicy

numer elementu

wewnątrz tablicy

 

Rys.1 Tablica składająca się z 5-ciu elementów 

 

Tablica zawiera 5 elementów. Pierwszy element każdej tablicy (w języku C) , to jest element 
zerowy
. Pierwszy element tablicy c wybieramy podając c[0], drugi element – c[1], piąty 
element – c[4], więc ogólnie odwołanie się do i – tego elementu tablicy c jest zapisywane jako 
c[i-1]
 

Numer pozycji elementu (podawany w nawiasach kwadratowych) nazywamy 

indeksem. Indeks powinien być liczbą całkowitą lub wyrażeniem całkowitym. 
 

Wartość c[0] jest równa –45, wartość c[1] jest 6, c[4] jest 1465. Żeby wydrukować 

sumę wartości pierwszych trzech elementów tablicy c, trzeba napisać : 
 
cout << c[0] + c[1] + c[2] << endl; 
 
Żeby podzielić wartość piątego elementu tablicy c przez 2 i wynik przypisać zmiennej x
trzeba napisać 
 
x = c[4] / 2; 
 

Deklaracja tablicy  

 
 

typ_elementu_tablicy nazwa_tablicy [rozmiar]; 

 
np.: 

int tab[8];    

// 8-mio elementowa tablica liczb całkowitych 

float b[20];   

// 20-to elementowa tablica liczb rzeczywistych 

char tekst[5]; 

 

// 5-cio elementowa tablica znaków 

 
Elementy tablicy 

Jeżeli zdefiniujemy tablicę: 

 
int tab[5]; 
 

background image

Algorytmy i struktury danych  

Laboratorium 3  

Tablice 

to do jej poszczególnych elementów odwołujemy się następująco: 

 

tab[0]  tab[1] 

tab[2] 

tab[3] 

tab[4] 

 

Numeracja  poszczególnych  elementów  tablicy  zaczyna  się  od  zera.  Tablica  n-elementowa 
ma elementy o indeksach od 0 do n-1. 
 

Inicjalizacja wartości tablicy 

Podczas deklaracji tablicę można zainicjalizować dowolnymi wartościami.  
 
np.: 

 
int tab[5] = {2, 8, 4, -2, 10};  
//rozmiar tablicy równa się liczbie elementów na liście inicjalizującej

 

 

int tab[5] = {2, 8, 2}; 
//rozmiar tablicy jest większy od liczby elementów na liście 
inicjalizującej – pozostałe elementy tablicy uzupełnione są wartością 0 
 
int tab[5] = {2, 8, 2, -2, 3,8,12};  
// BŁĄD - rozmiar tablicy jest mniejszy od liczby elementów na liście 
inicjalizującej – przekroczenie rozmiaru tablicy. 

 
Elementy tablicy można również wypełnić za pomocą operacji przypisania. 
 
np.: 

 
int tab[5];

 

 

tab[0]=2; 
tab[1]=8; 

 

tab[2]=4; 

 

tab[3]=-2; 

 

tab[4]=10;

 

 
Do inicjalizacji elementów tablicy można zastosować pętle for. 
 
np.: 
 

int tab[8]; 
 
for(int i=0;i<8;i++) 

  tab[i]=i+1; 
   i++; 

cout<<”Wartość i= ”<<i<<endl;

 

 

background image

Algorytmy i struktury danych  

Laboratorium 3  

Tablice 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Zadania 

 

1.  Narysuj  schemat  blokowy  algorytmu  wpisującego  do  tablicy  100  elementowej 

wartości: 0,10,20,30,… 

2.  Napisz program w C++ do schematu blokowego z powyższego zadania. 
3.  Stwórz  tablicę  10-cio  elementową  i  zainicjalizuj  ją  dowolnymi  wartościami.  Napisz 

program 

  obliczający sumę wszystkich elementów tablicy, 
  obliczający sumę tylko parzystych elementów tablicy, 
  obliczający średnią arytmetyczną dodatnich elementów tablicy, 
  zmieniający znak poszczególnych elementów tablicy, 
  znajdujący minimalną wartość spośród wszystkich elementów tablicy oraz 

podający jej pozycję, 

  znajdujący maksymalną wartość spośród wszystkich elementów tablicy oraz 

podający jej pozycję, 

  obliczający ilość nieparzystych elementów tablicy. 

int tab[8], i 

i = 0 

i < 8 

tab[i] = i+1 

i++ 

start 

stop 

 
 

i ,tab[i] 

NIE 

TAK