Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

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ą zasadą 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, ..., a ostatniej dziewięć:

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

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ład 1

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>
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]<<" ";

	return 0;
}

Zauważ, ż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.