Test pisemny z J¦zyków Programowania II 2014-01-08. Zestaw II.

Zadanie 1. (20 punktów) Jaki wynik otrzymamy na ekranie po skompilowaniu nast¦puj¡cego programu?

#include <iostream> using namespace std; class A

{

public:

A() {cout<<"A"<<endl;}

virtual ~A() {cout<<"B"<<endl;}

A(const A& other) {cout<<"C"<<endl;}

A& operator=(const A& other) { cout<<"D"<<endl;return *this; }

};

int main()

{A x;

A* tab;

tab=new A[2];

A y=x;

A w;

w=y;

return 0;

}

Zadanie 2. (30 punktów) Dana jest nast¦puj¡ca deklaracja funkcji void zamien(float*,float*).

Funkcja zamien ma za zadanie zamieni¢ warto±ci swoich argumentów. Prosz¦

napisa¢ jej denicj¦, nie zmieniaj¡c jej deklaracji.

Zadanie 3. (10 punktów) Ile gwiazdek pojawi si¦ na ekranie po wykonaniu nast¦puj¡cego programu ( w zale»no±ci od liczby n)?

#include <iostream> using namespace std; int main()

{int n;

cout<<"n=";cin>>n; for(int i=0;i<n;++i)

{for(int j=1;j<i;++j)

{cout<<"*";

}

}

}

1

Zadanie 4. (20 punktów) Prosz¦ napisa¢ funkcj¦ w C++, która zamienia wszystkie litery w ªa«cuchu znaków, który jest argumentem, na du»e litery i taki napis jest wynikiem tej»e funkcji.

Zadanie 5. (30 punktów) Prosz¦ napisa¢ funkcj¦ w C++, której argumentem jest liczba naturalna dodat-nia, a funkcja ta wypisuje rozkªad tej liczby na czynniki pierwsze.

2