TABLICE C++

33
TABLICE C++

description

TABLICE C++. Definicja tablicy. Deklaracja tablicy. Typ_elementow nazwa_tablicy [liczba elementów]. Przykłady. int tablica_liczb [ 10 ]; int tablica [ 6 ] = { 3 , 5 , 2 , 1 }; //dokonanie inicjalizacji. Zapis int tablica[6] = {3,5,2,1}; jest jednoznaczny z : - PowerPoint PPT Presentation

Transcript of TABLICE C++

Page 1: TABLICE C++

TABLICE C++

Page 2: TABLICE C++

Definicja tablicy

Page 3: TABLICE C++

Deklaracja tablicy

Typ_elementow nazwa_tablicy [liczba elementów]

Page 4: TABLICE C++
Page 5: TABLICE C++

Przykłady

int tablica_liczb [10];

int tablica [6] = {3,5,2,1}; //dokonanie inicjalizacji

Page 6: TABLICE C++

Zapis

int tablica[6] = {3,5,2,1};

jest jednoznaczny z:

int tablica[6] = {3,5,2,1,0,0};.

Page 7: TABLICE C++

int tablica [6] = {0};

Page 8: TABLICE C++

int tablica [ ] = {2,4,8,16};

Otrzymamy cztero-elementową tablicę wypełnioną odpowiednimi wartościami.

Page 9: TABLICE C++

Sposoby odnoszenia się do konkretnych elementów tablicy:

• int tablica_liczb [4] = {0}; //tablica zawiera same zera

• tablica_liczb [0] = 34; //zapisanie wartości 34 pod indexem 0

• tablica_liczb [1]++; //inkrementacja wartości spod indexu 1

Page 10: TABLICE C++

• tablica_liczb [2] -= 23; //zmniejszenie wartości zapisanej pod indexem 2 o 23

• tablica_liczb [3] = tablica_liczb [0] + 7; //pod indexem 3 umieszczamy wartość elementu z indexu 0 powiększonego o 7

//tablica_liczb [4] = 34; UWAGA!! tablica zawiera tylko 4 elementy!

Page 11: TABLICE C++

Tablice znakowe

Tradycyjnie: char string [30];

Page 12: TABLICE C++

Aby wstawić do stringu jakiś konkretny text należy podstawić pod każdy z jego indexów odpowiednie znaki.

• string [0] = 'd';• string [1] = 'o';• string [2] = 'w';• string [3] = 'o';• string [4] = 'l';• string [5] = 'n';• string [6] = 'y';• string [7] = ' ';• string [8] = 't';• string [9] = 'e';• string [10] = 'x';• string [11] = 't';• string [12] = '\0';//to jest znak kończący

string• string [13] = 't';

• string [14] = 'e';• string [15] = 'g';• string [16] = 'o';• string [17] = ' ';• string [18] = 'n';• string [19] = 'i';• string [20] = 'e';• string [21] = ' ';• string [22] = 'm';• string [23] = 'a';• string [24] = '\0';

Page 13: TABLICE C++

Definiując ciąg można od razu go zainicjalizować w taki sposób:

char string [13] = "dowolny text"; //lub tak: char string[] = "dowolny text„Zauważ, że nasz string mieści 13 znaków, zaś cały text dowolny text to 12 znaków. ten 13 znak to nasz znak kończący. Nie jest on widoczny, ale musi istnieć. Pamiętaj jeszcze, że taki sposób podstawienia textu do tablicy jest możliwy jedynie podczas inicjalizacji. Później tak nie można:

Page 14: TABLICE C++

char string [13] = "dowolny text"; //ok

//char string = "inny text"; tak nie wolno!

Page 15: TABLICE C++

Rozmiar tablicyCzasem zachodzi potrzeba pobrania rozmiaru tablicy bądź też ilości jej elementów. Można to zrobić korzystając z operatora sizeof int liczby [4];

int rozmiar_tablicy = sizeof (liczby);//rozmiar tablicy w bajtach

int ilosc_elementow_tablicy = rozmiar_tablicy / sizeof (int);//ilość elementów tablicy

http://guidecpp.cal.pl/cplus,tables

Page 16: TABLICE C++
Page 17: TABLICE C++
Page 18: TABLICE C++
Page 19: TABLICE C++

Na początku wczytywane są wartości dziesięciu liczb całkowitych do tablicy jednowymiarowej (wprowadzane są wartości ciągu) Istotnym momentem naszego algorytmu jest przeszukanie całej tablicy jednowymiarowej w poszukiwaniu najmniejszego elementu. Warto jednak wcześniej zwrócić uwagę na instrukcję: min = tab[0];

Instrukcja ta powoduje ustawienie jeszcze przed drugą pętlą for najmniejszego elementu, który wskazuje na wartość pierwszego elementu tablicy, czyli na element o indeksie zero.Po tej instrukcji następuje przeszukiwanie tablicy. Każdy element tablicy jest porównywany ze zmienną min, która przechowuje wartość najmniejszą naszej tablicy. Operacja porównania jest realizowana przez instrukcję: if (min > tab[i]) min = tab[i];

Warto zauważyć, że przeszukiwanie tablicy w drugiej pętli for realizowane jest od pierwszego indeksu i=1;.

Page 20: TABLICE C++
Page 21: TABLICE C++

Definicja tablicy wielowymiarowej

Tablice dwuwymiarowe zawierają wiersze i kolumny. Tablice dwuwymiarowe deklarujemy podobnie jak tablice jednowymiarowe, z tą różnicą, że zamiast pojedynczej pary nawiasów kwadratowych [], stosujemy dwie pary nawiasów kwadratowych [][]. Pierwszy indeks tablicy odpowiada numerowi wiersza, a drugi numerowi kolumny.

Page 22: TABLICE C++

Przykład deklaracji tablicy dwuwymiarowej zawierającej 5 wierszy i 3 kolumny.

int tab[5][3]; // tablica zawierająca 15 elementów typu całkowitego

Tablica dwuwymiarowa może prezentować się tak:

Page 23: TABLICE C++
Page 24: TABLICE C++
Page 25: TABLICE C++
Page 26: TABLICE C++
Page 27: TABLICE C++

W tym przypadku zmienna w ogranicza liczbę wprowadzanych wierszy do 20, a zmienna k również do 20. Aby móc wyjść z pętli użytkownik wprowadzić obie wartości mniejsze niż liczba 21 - powoduje to użycie operatora ||. Program po poprawkach może przyjmować taką wersję:

Page 28: TABLICE C++
Page 29: TABLICE C++
Page 30: TABLICE C++

Kolejnym zadaniem, które warto sobie postawić jest przepisanie tablicy dwuwymiarowej do tablicy jednowymiarowej, inaczej wektora. Zadanie nie jest trudne, wystarczy po kolei wiersze tablicy wprowadzać do wektora.Załóżmy, że mamy zadeklarowaną tablicę tab.

const int m = 3; // ilosc wierszy const int n = 4; // ilosc kolumn int tab[m][n] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };

Page 31: TABLICE C++
Page 32: TABLICE C++
Page 33: TABLICE C++