// A (1 punkt) // - zdefiniowac algorytm __copy_if // dziala analogicznie jak algorytm copy, ale ma dodatkowy argument - predykat - kopiowane sa jedynie elementy spelniajace predykat
// // tu zdefiniowac wszystkie potrzebne funkcje pomocnicze //
void main() { // - zadeklarowac puste wektory (liczb typu int) v1, v2 // - zadeklarowac puste listy (liczb typu int) l1, l2
ostream_iterator oit(cout,", ");
srand(123); // nie usuwac !
// B (1 punkt)
// - wpisac do wektora v1 100 liczb losowych liczb typu int (odpowiedni algorytm i funkcja rand - zadnych petli) cout<<"wektor v1"<// wypisac v1 cout< // - skopiowac caly wektor v1 do wektora v2 (odpowiedni algorytm - zadnych petli) cout<<"wektor v2"<// wypisac v2 cout< // - skopiowac z wektora v1 do listy l1 jedynie liczby parzyste ( __copy_if ) cout<<"lista l1"<// wypisac l1 cout< // - usunac z wektora v1 liczby nieparzyste (odpowiedni algorytm, metoda, predykat - zadnych petli) cout<<"wektor v1"<// wypisac v1 cout< // - usunac z wektora v2 liczby nieparzyste (recznie - zwykla petla for) cout<<"wektor v2"<// wypisac v2 cout< // C (1 punkt)
// - przeksztalcic elementy wektora v1 wg zasady y=10*x+5 (alg. transform) cout<<"wektor v1"<// wypisac v1 cout< // - wypelnic liste l2 elementami vektora v2 przeksztalconymi wg zasady y=10*x+5 (alg. transform) cout<<"lista l2"<// wypisac l2 cout< // - przeksztalcic elementy wektora v2 wg zasady y=10*x+5 (alg. for_each) cout<<"wektor v2"<// wypisac v2 cout< // D (1 punkt)
// - usunac z wektora v1 element najwiekszy i najmniejszy (odpowiednie algorytmy i metody - zadnych petli) cout<<"wektor v1"<// wypisac v1 cout< // - zamienic wszystkie elementy wektora v1 mniejsze od 100000 na 100000 (algorytm replace_if) cout<<"wektor v1"<// wypisac v1 cout< // - zamienic wszystkie elementy wektora v1 wieksze od 200000 na 200000 (algorytm for_each) cout<<"wektor v1"<// wypisac v1 cout< // E (1 punkt)
// - skopiowac wszystkie elementy wektora v1 do vektora v2 (algorytm copy, w v2 maja byc tylko elementy v1 - zadnych innych) cout<<"wektor v2"<// wypisac v2 cout< // - posortowac wektor v1 (odpowiedni algorytm) cout<<"wektor v1"<// wypisac v1 cout< // - usunac z wektora v1 wszystkie powtarzajace sie sasiednie elementy (odpowiedni algotytm - zadnych petli) cout<<"wektor v1"<// wypisac v1 cout< // - usunac z wektora v2 wszystkie powtarzajace sie sasiednie elementy (odpowiedni algotytm - zadnych petli) cout<<"wektor v2"<// wypisac v2 cout< }