16.11.2014 Views

Programowanie obiektowe C++ Informatyka/Automatyka i ...

Programowanie obiektowe C++ Informatyka/Automatyka i ...

Programowanie obiektowe C++ Informatyka/Automatyka i ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5. Otworzyć plik poprzez utworzenie obiektu typu ifstream o nazwie in. Następnie utworzyć<br />

obiekt os typu ostrstream i przekopiować do niego całą zawartość otwartego pliku (użyć<br />

metodę rdbuf). Zamienić wszystkie litery w os na duże i zachować wynik w nowym pliku,<br />

po czym zwolniæ pamięć zajętą przez ten strumieñ.<br />

6. Napisać program, który dopisze na początku i na końcu wszystkich plików żródłowych z<br />

rozszerzeniem *.h komentarz dotyczący praw autorskich.<br />

7. Otworzyć plik o nazwie podanej jako argument programu. Następnie wyświetlić wszystkie<br />

jego linie zawierające jedno ze słów podanych jako następne argumenty wraz z numerami<br />

wierszy odpowiadającymi im w pliku.<br />

8. Dodać nowe manipulatory dla standardowego strumienia wyjściowego:<br />

(a) bin(x) wyświetlający liczbę całkowitą x w systemie binarnym,<br />

(b) bin2(x) wyświetlający liczbę zmiennoprzecinkową x w systemie binarnym,<br />

(c) convert(x, n) wyświetlający liczbę całkowitą x w systemie o podstawie n,<br />

(d) convert2(x, n) wyświetlający dziesiętnie liczbę całkowitą x podaną w systemie o<br />

podstawie n.<br />

9. W oparciu o strumienie napisać program, który podzieli plik o dużych rozmiarach na<br />

zestaw mniejszych plików. Następnie opracować program, odwracający ten proces tzn.<br />

skleić z powrotem pliki w jeden wynikowy.<br />

7 Szablony<br />

1. Opracować szablon funkcji do wyznaczania iloczynu dwóch argumentów:<br />

(a) zrealizować funkcję szablonową w wersji normalnej i operatorowej,<br />

(b) dodać funkcję wyspecjalizowaną dla tablic jednowymiarowych reprezentujących wektory<br />

(np.: 3,4,5,... elementowe),<br />

(c) wprowadzić domniemany parametr szablonu określający rozmiar tablicy.<br />

2. Przeanalizować poniższe deklaracje:<br />

int i1;<br />

const int i2;<br />

float f1,f2;<br />

template int fun(T, T*);<br />

template U fun (T, T*,U);<br />

int fun(int, int*);<br />

int fun(double, double*,double=0.0);<br />

Rozstrzygnąć, która z funkcji zostanie wywołana, gdy w programie pojawia się polecenie:<br />

(a) i1=fun(i2,&i1);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!