Progra m o w a ni e obiektowe 2005 / 2 0 0 6
Laboratorium 8 Zadanie 1.
Napis z funkcj , która odwraca kolejnoę ść elemen t ów w tablicy. Pos u si klas vector.ł ż ę ą Opracuj progra m
testowy.
#include <vector>
#include <iostream>
using namespace std;
void Odwroc(vector<int> &a);
int main() {
vector<int> test(6);
int i;
test[0] = 1;
...
Odwroc(test);
for (i = 0; i<6; i++) cout << test[i] << ' ';
cout << endl;
return 0;
}
void Odwroc(vector<int> &a) { int i, ...
i = ...
j = ...
while(...) { ...
} }
Zadanie 2.
Napis z progra m, który czyta wyniki egza mi n ów z pliku WYNIKI.TXT i oblicza wartość redni , najwy s z i
ś ą ż ą
najni s z .ż ą
Prototy py funkcji, które nale y napisa i u y w progra mi e:ż ć ż ć
a) bool CzytajOceny (char nazwaPliku[], vector<int> &a);
Funkcja czyta dane z pliku do wektor a. Zwraca true, je śli plik zost a ł otwor z o ny pop raw nie, w przeciwny m
wypad k u zwraca false.
b) int Dodaj (const vector<int> &a);
Funkcja zwraca sum eleme n t ów wektor a.ę c) int MaxOcena (const vector<int> &a);
Funkcja zwraca wartość najwi ks zego eleme nt u w wekto r z e.ę d) int MinOcena (const vector<int> &a);
Funkcja zwraca wartość najm niejs z e g o eleme nt u w wektor z e.
W funkcji main() nale y spraw d z a : czy uda o si otwor zy plik, czy plik zawiera dane.ż ć ł ę ć
1
Progra m o w a ni e obiektowe 2005 / 2 0 0 6
Zadanie 3.
Opracowa klas Stos do obs ugi stos u, którego eleme nt a m i sk adowy mi b d wyrazy.ć ę ł ł ę ą Deklaracja klasy:
class Stos { private:
vector<string> wstos;
public:
bool wloz( const string& );
bool zdejmij ( string &element );
bool pobierz( string &element );
bool pusty() const ; bool pelny() const ; int rozmiar() const ; };
Napisa progra m test u j cy t klas .ć ą ę ę Potrze b n e funkcje dzia aj ce na wekto r z e:ł ą
v.push_back(el) - wstawia eleme nt na koniec wektora v.pop_back() - usuwa elemen t z ko ca wektor ań
v.back() - zwraca elemen t z ko ca wektorań v.empty() - zwraca true, je li wektor jest pus tyś v.size() - zwraca liczb eleme n t ó w w wekto r z eę
v.max_size() - zwraca roz m iar najwi kszego dop u s z c z a l n ego wektoraę
2