Programowanie i algorytmy

Tablice jednowymiarowe w C++

powrót

Inicjacja tablicy jednowymiarowej

Tablice jednowymiarowe można porównać do osi liczbowej. Aby odwołać się do jakiegoś elementu, wystarczy podać jedną współrzędną.

Tablice tego typu deklarujemy następująco:

typ_komórek_tablicy nazwa_tablicy [ ilość elementów tablicy ] ;

 

np.:

 

  int tablica[1000];

 

czyli tablica, która może przechowywać tysiąc elementów typu całkowitego,

 

  char znaki[1001];

 

czyli tablica, która może przechowywać 1000 znaków + znak końca tablicy.

 

Nadanie wartości początkowych tablicy

Operację tą można zrobić tylko przy deklaracji tablicy (przy tworzeniu tablicy). Operację nadania wartości tablicy przedstawię na przykładzie pięcio-elementowej tablicy liczb całkowitych:

 

  int tab[5] = {1, 3, 90, 100000, 9};

 

Oznacza to, że w pierwszej komórce przechowywana jest liczba 1, w drugiej 3 itd..

Jeśli przypiszemy do tablicy mniejszą ilość elementów niż wielkość tablicy, to pozostałe komórki będą miały wartość zero:

 

  int tab[5] = {1, 3};

 

Powyższy zapis jest równoważny z zapisem:

 

  int tab[5] = {1, 3, 0, 0, 0};

 

Przypisanie do tablicy pustego nawiasu oznaczać będzie, że wszystkie komórki będą miały wartość zero.

 

Warto wiedzieć, że jeśli tablicę zadeklarujemy jako globalną, to elementy tablicy zostaną także wyzerowane.

 

Odwoływanie się do komórek tablicy

Najważniejszą regułą jest to, że komórki numerujemy od zera. Numery te nazywamy indeksami tablicy. Oznacza to, że jeśli stworzyliśmy tablicę 10-elementową, to numer pierwszej komórki jest równy zero, drugiej jeden, ..., no i ostatniej dziewięć:

{tex}\underbrace{[0][1][2]\cdots[n-1]}_{indeksy\ komorek\ n-elementowej\ tablicy}{/tex}

 

Odwołujemy się do komórek tablicy podając jej indeks w nawiasie kwadratowym, np:

  int tab[10]; //deklaracja tablicy
 
  tab[0] = 34; //przypisanie do pierwszej komórki wartość 34
 
  tab[9] = 100; //przypisanie do ostatniej komórki wartość 100
 
  cout<<tab[0]; //wyświetlenie zawartości pierwszej komórki 
//tablicy (czyli 34)

 

Pamiętaj!!! Gdy odwołujesz się do ostatniej komórki tablicy n-elementowej, to jej indeks jest równy n-1.

 

Przykładowe zadanie

Zadanie. Napisz program, który nada  następujące wartości początkowe tablicy 5-elementowej: 1, 2, 5, 0, 0, a następnie wyświetli najpierw wartości parzyste tej tablicy, a następnie nieparzyste.

Rozwiązanie:

#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
  int tab[5] = {1, 2, 5};
 
  for(int i=0;i<5;i++)
  //jeśli wartość tablicy jest parzysta
    if(tab[i]%2==0) 
      cout<<tab[i]<<" ";
 
  for(int i=0;i<5;i++)
  //jeśli wartość tablicy jest nieparzysta
    if(tab[i]%2) 
      cout<<tab[i]<<" ";
 
  cout<<endl;
 
  system("pause");
  return 0;
}

 

Warto zauważyć, że przeszukujemy tablicę o indeksach od 0 od 4, a więc w nawiasie kwadratowym tablicy wstawiliśmy licznik "i", który przyjmuje właśnie takie wartości.