typy zlozone


1
Tablice
Tablice wprowadza się do programu podając liczbę elementów.
Liczba elementów musi być stałą całkowitą. Przykładowe definicje tablic:
int T[2][3];
float Tab[120];
double X[10][15];
Numeracja elementów tablicy przebiega od 0 do N-1, gdzie N jest liczba
elementów tablicy
Tablica T[2][3] oznacza zbiór elementów następującej postaci:
t00 t01 t02
Ą# ń#
T[2][3] =
ó#t
t11 t12 Ą#
Ł# 10 Ś#
Tablice wielowymiarowe są jednowymiarowymi tablicami, których
elementami są tablice.
Tablice znakowe przechowujące tekst zawierają niewidoczny znak końca
tekstu \0.
Inicjowanie wartości zmiennych polega na nadawaniu im w programie
wartości na początku programu. W przypadku tablic może to przebiegać
następująco:
int T[3][4] = {1,2,3,0,4,5};
int T[3][4] = {{1,2,3},{4,5}};
int T[3][4] = {{1,2,3},4,5};
2
We wszystkich chodzi o te samą tablicę postaci
1 2 3 0
Ą# ń#
ó#4 5 0 0Ą#
T[3][4] =
ó# Ą#
ó# Ą#
Ł#0 0 0 0Ś#
W pierwszym nawiasie może nie być liczby elementów. Przy deklaracji
tablicy liczba wierszy zostanie ustalona podczas inicjowania zawartości. Zapis
int T [ ][4] = {1,2,3,0,4,5};
oznacza tablicę
1 2 3 0
Ą# ń#
T[2][4] =
ó#4 5 0 0Ą#
Ł# Ś#
Zapis
int T[ ][4] = {{1},{2},{3},{4},{5}};
oznacza tablicę
1 0 0 0
Ą# ń#
ó#2 0 0 0Ą#
ó# Ą#
ó# Ą#
T[5][4] = 3 0 0 0
ó#4 0 0 0Ą#
ó# Ą#
ó#5 0 0 0Ą#
Ł# Ś#
3
W celu odwołania się do elementu tablicy pisze się
a = T[1][0];
Dla wymienionej tablicy T[5][4] zmienna a będzie miała wartość
a = 2;
Struktury
Struktura oznacza zbiór elementów na ogół różnego typu.
Przykładowe deklaracje
struct Osoba {
char imie[12], nazwisko[15];
int wiek, wzrost;
}Osoba1, Osoba2;
Elementy składowe struktury nazywane są polami. W tym przypadku
występują dwa pola znakowe i dwa pola typu int.
Konkretne egzemplarze struktury umieszcza się za definicją struktury
lub w programie pisząc
Osoba Osoba1, Osoba2;
Osoba jest nazwą typu.
struct FIGURA {
char nazwa[15];
double obwod, pole;
4
};
FIGURA F1, *pF;
*pF oznacza wskaznik struktury. Dane struktury w tym przypadku
trzeba wprowadzić w programie.
Odwołanie do pól struktury
F1.obwod
pF->obwod
Nadanie im wartości
F1.obwod=144.31;
PF->obwod=150.23;
Wyrażenie
Osoba1.nazwisko
Może być używane jak nazwa tablicy znakowej
Osoba1.nazwisko[15]
Identyfikator składowej struktury i identyfikator struktury nie
przesłaniają się. We fragmencie programu można napisać:
{
struct FIGURA {
char nazwa[15];
double F, pole;
}F;
5
F.F=1001.34;
& & ..
}
6
Wprowadzanie danych struktury (inicjalizacja)
FIGURA F1={
 Kwadrat ,
155.1,
300.3
};
Wprowadzanie danych do tablicy struktur
FIGURA F[]={
{ Kwadrat ,155.1,300.3},
{ Kolo ,25.5,51.74},
{ Prostokat ,60,200}
};
Odwołanie do elementu tablicy
F[1].pole
Struktury zagnieżdżone to struktury, w skład których wchodzą inne
struktury.
struct PUNKT{
float x,y;
};
struct FIGURA{
char nazwa[10];
PUNKT xd,xg;
};
7
FIGURA F1, F2={ ODCINEK ,{1,2},{3,4}};
F1.xd.x=0;
F1.xd.y=2;
PUNKT p1={4,10};
F1.xg = p1;
Unie
Unia oznacza zbiór elementów ogólnie różnego typu podobnie do struktury.
Przykładowe deklaracje
union Zestaw {
char znaki[12];
int k;
float f;
}Z1;
Elementy składowe unii nazywane są polami. W tym przypadku
występują: pole znakowe, pole typu int i pole float.
Różnice miedzy unią a strukturą
struct S{ union U {
int k; int k;
float f; float f;
}S1; }U1;
Miejsce w pamięci
8
Struktura S1
k f
adres
Unia U1
k
f
adres
Klasa
Klasa to zbiór danych i metod.
Przykładowe deklaracje
class Data {
public:
Data();
Data(int d, int m, int r);
void nowa(int d, int m, int r);
void podaj_date();
private:
int pd, pm,pr;
};
Data :: Data(){
9
pd=pm=pr=0;
}
Data :: Data(int d, int m, int r){
pd = d; pm = m; pr = r;
}
void Data::nowa(int d, int m, int r){
pd = d; pm = m; pr = r;
}
void Data::podaj_date(){
cout<< d  <}


Wyszukiwarka

Podobne podstrony:
złożone typy
05 Zlozone typy danych cwiczenia przygotowujace
Małgorzata Klecka Poalkoholowe dzieci ze złożona niepełnosprawnością
Typy danych w MySQL
typy charakterw
typy
Siedem złożonych imion JahweU0120
EPC typy modele
zlozonosc natury ludzkiej
reakcje zlozone zadania

więcej podobnych podstron