TABLICE w TP
Tablicą nazywamy ciąg ustalonej liczby elementów tego samego typu, do których odwołujemy się za pośrednictwem wspólnej nazwy. Dostęp do konkretnego elementu tablicy uzyskuje się za pomocą nazwy i indeksów określających pozycję, jaka element zajmuje w tablicy. Nazwa tablicy jest jednocześnie adresem jej zerowego elementu.
Tablice jednowymiarowe:
nazwa_tablicy:array[pierwszy_elemetn..ostatni_element] of typ_elemetntów
np. tab:array[1..8] of integer;
Wartosc1 |
Wartosc2 |
Wartosc3 |
Wartosc4 |
Wartosc5 |
Wartosc6 |
Wartosc7 |
Wartosc8 |
tab[1] tab[2] tab[3] tab[4] tab[5] tab[6] tab[7] tab[8]
Kolejne elementy tablicy identyfikowane są jako:tab[1], tab[2], …, tab[8].
Sposoby deklarowania tablicy:
przypisanie konkretnych wartości w momencie deklaracji tablicy:
liczby : array[1..7] of integer = (2,4,5,6,8,4,6); wówczas tablica liczby ma postać:
2 |
4 |
5 |
6 |
8 |
4 |
6 |
wypełnianie tablicy w programie:
liczby : array[1..7] of integer
for i:=1 to 6 do
begin
cout<<”Podaj wartość”< <i<<”elementu tablicy”<<endl;
cin>>liczby[i];
end;
Tablice wielowymiarowe:
typ_elemetntów nazwa_tablicy[liczba_wierszy][liczba_kolumn];
Tablica dwuwymiarowa ma postać macierzy.
Np.
Tab : array[1..3,1..3] of integer
Tab[1][1] |
Tab[1][2] |
Tab[1][3] |
Tab[2][1] |
Tab[2][2] |
Tab[2][3] |
Tab[3][1] |
Tab[3][2] |
Tab[3][3] |
Sposoby deklarowania tablic dwuwymiarowych:
Np.
Tab : array[1..3,1..3] of integer
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
cout<<”podaj wartość elementu o indeksach [”<<i<<”][”<<j<<”]”<<endl;
cin>>Tab[i][j];
end;
end.
Przeszukiwanie liniowe tablicy jednowymiarowej:
Przeszukiwanie tablicy element po elemencie nazywamy przeszukiwaniem liniowym tablicy.
Np.;
Var
tab : array[1..6] of integer; ]; //deklaracja tablicy
szukany:integer; ; //deklaracja zmiennej szukana
ilość:integer; //deklaracja zmiennej zliczającej ilość wystąpień szukanej liczby
ilosc:=0; //ustawienie wartosci początkowej licznika
writeln(`podaj element, ktorego szukasz w tablicy');
readln(szukany);
writeln(`teraz wypełnij tablice');
for j:=1 to 6 do
begin
Writeln(`podaj wartość elementu o indeksie',i);
Readln(tab[i]);
end;
Writeln(`zaczynamy przeszukiwanie');
for j:=1 to 6 do
begin
if (tab[i] =szukany) then
ilosc++;
end;
Writeln(`szukany element zostal znaleziony',ilosc,'razy w tablicy');
Poszukiwanie elementu maksymalnego (minimalnego ) w tablicy:
Var
tab : array[1..6] of integer; //deklaracja tablicy
max,min:integer;
writeln(`teraz wypełnij tablice');
for j:=1 to 6 do
begin
Writeln(`podaj wartość elementu o indeksie',i);
Readln(tab[i]);
end;
Writeln(`zaczynamy przeszukiwanie');
max:=tab[1]; //przyjmujemy ze najwiekszy element jest pierwszym elementem tablicy for j:=1 to 6 do
begin
if(tab[i]>max) then //jezeli element jest wiekszy od maksymalnego wowczas staje
//się on maksymalnym elementem
max:=tab[i];
end;
Writeln(`maksymalny element to',max);
ZADANIA:
Utwórz program, który
tworzy tablicę złożoną z 6 liczb całkowitych. Zainicjuj tablicę dowolnymi wartościami, oblicz sumę i średnią elementów tablicy.
wczytuje do jednowymiarowej tablicy ( o rozmiarze nmax=100) n<=nmax liczb (liczbę n podaje użytkownik). Następnie prosi użytkownika o podanie jakiejś liczby i sprawdza czy jest ona w tablicy. Jeśli tak wyświetlony zostaje komunikat”JEST”, a jeśli nie - „NIE MA”.
wczytuje do jednowymiarowej tablicy (o rozmiarze nmax=100) n<=nmax liczb oraz drukuje na ekranie najmniejszą oraz największą liczbę z tablicy.
wczytuje do jednowymiarowej tablicy (o rozmiarze nmax=100) n<=nmax liczb, następnie podnosi do kwadratu każdy z elementów.
wczytuje do jednowymiarowej tablicy (o rozmiarze nmax=100) n<=nmax liczb i do tych, które są parzyste dodaje 10;
wczytuje do jednowymiarowej tablicy (o rozmiarze nmax=100) n<=nmax liczb, a następnie wyświetla wszystkie liczby, które są mniejsze od średniej arytmetycznej wszystkich elementów tablicy.
wczytuje stopnie (nie większe niż 50) i współczynniki dwóch wielomianów, a następnie wyświetla stopień oraz współczynniki wielomianu będącego ich sumą.
wyświetla tabliczkę mnożenia 10x10 za pomocą pętli.
wczytuje do tablicy 10 liczb całkowitych, a następnie zlicza ile było elementów dodatnich a ile ujemnych w tej tablicy.
wczytuje do tablicy 10 liczb całkowitych. Użytkownik wprowadza z klawiatury dowolną liczbę i sprawdza czy jest ona w tablicy. Jeśli jest to wyświetla element poprzedzający go i następny po nim w tablicy.
wczytuje liczbę całkowitą n oraz n liczb całkowitych. Liczby powinny być wczytane do tablicy. Program znajduje ilość oraz sumę elementów spełniających warunek: wartość bezwzględna elementu jest większa niż średnia arytmetyczna elementu stojącego bezpośrednio przed nim i za nim.
abs( x )=|x|