Tablice, których elementami są inne tablice, nazywamy tablicami wielowymiarowymi
Definicja tablicy wielowymiarowej ma postać:
typ_zmiennej nazwa_tablicy [liczba_wierszy] [liczba kolumn]
wektor- tablica jednowymiarowa, czyli taka, co ma tylko jeden wiersz, a kilka kolumn. W podanym niżej wektorze podane są indeksy komórek, czyli jeśli będziemy chcieli z tablicy wyciągnąć jakąś dane będziemy musieli zastosować odpowiedni numer komórki tabeli ( tfu, tablicy).Ta tabela jest pięcioelementowa, ale numeruje się ją od zera. Numeruje się elementy tablicy od 0 do 4. Gdyby podać indeks pięć, byłby to błąd.
[0] [1] [2] [3] [4]
macierz- tablica dwuwymiarowa, ma kilka(naście, dziesiąt) kolumn i kilka(naście...) wierszy.
[0][0] [1][0] [2][0]
[0][1][ [1][1] [2][1]
[0][2] [1][2] [2][2]
Są oczywiście tabele posiadające więcej wymiarów niż dwa. Tablica trójwymiarowa ma kolumny, wiersze i rzędy. Oczywiście może być kolumna czterowymiarowa, ale jak ją sobie wyobrazić?
A jak dokonać deklaracji tablicy (wszelkie zmienne trzeba zadeklarować)?
int tablica[10];
zadeklarowaliśmy jednowymiarową tablicę przechowującą liczby całkowite o nazwie "tablica", w nawiasach kwadratowych określiliśmy rozmiar tablicy na 10 elementów( czyli 10 liczb całkowitych).
A jak macierz?
int tablica[2][3];
I to jest tablica, która ma dwa wiersze i trzy kolumny.
A jak wprowadzać dane do tablicy?
int tab[5] = {12,32,43,6,56};
A jak wstawiać do macierzy? Można tak jak w wektorze. Wstawiamy po kolei od pierwszego wiersza i pierwszej kolumnie do ostatniego, ale nie jest to zbyt przejrzyste. Popatrzmy:
int tab[3][3] = {2,3,54,65,36,123,54,67,90};
Ale można troszkę inaczej:
int tab[3][5] ={
{12,45,76},
{56,98,1},
{56,12,789},
{9,42,76}
};
Ta druga metoda jest zalecana.
A gdyby tak wprowadzić do tablicy tylko jeden element, to co z reszta? Czy nie mają wartości? Nie, mają wartość 0.
A jak wyciągnąć z tabeli dane? Odwołujemy się do konkretnej komórki. Proszę pamietać, iż liczymy od zera. Jest kolumna zerowa i wiersz zerowy.
// #include <iostream> #include <ctime> //---------------------------- using namespace std; int main() { unsigned long long g,i,p; bool t; cin >> p; g = (unsigned long long)sqrt(p); t = true; for(i = 2; i <= g; i++) { if(p % i == 0) { t = false; break; } } if(t) cout << "TAK"; else cout << "NIE"; cout << endl; return 0; }