Zadanie 1
Wykonanie tego fragmentu kodu dla tablicy intów o ustalonej wielkości size
int t[] = {23,2,3,7,1};
int size = 5;
int z = 0, m1 = t[0], m2 = m1; for(int i = 1; i < size; i++){
if(t[i] < m1) {
z += m1-t[i];
m1 = t[i];
}
else if(t[i] > m2){
z+=t[i]-m2;
m2 = t[i];
}
}
cout << z;
Rożnicę pomiędzy największym elementem a najmniejszym Zadanie 2
Po wywołaniu funkcji fun(2). Na ekran zostanie wydrukowane void fun(int n)
if(n>0){
cout << n;
zad2(n-1);
cout<< n;
}
Zostanie wydrukowane na ekran 2112
Zadanie 3
Które z poprawnych deklaracji jest poprawne
//const int k;
// a nie moze byc
//int k, *m = &k;
// b moze byc
//int *k, m = &k;
// c nie moze byc
//int k = 7, &m = k;
// d moze byc
Zadanie 4
Mamy zdefiniowaną klasę z domyślnym konstruktorem Klasa k, *p;
p = new Klasa;
//Poprawne
//k = new klasa;
//Nie
//*k = new Klasa;
//Nie
Zadanie 5
int tab[] = {1,2,3,4,5}, *p = tab+1; cout << p[2];
Wydrukuje 4
Zadanie 6
const char * s = "UVWXYZ"; cout << *(&s[3]-2) << endl; Wydrukuje „V”
void F(int*, int = 0, double = 0); int k = 7, *pk = &k;
double x = 7, *px = &x;
//F(&k,k);
//F(&k);
//F(pk, *pk, x);
//F(pk, *pk, *px);
Wszystkie są błędne
Zadanie 8
int fun(int& m, int *n){
++m;
return *n -1;
}
void zad8(){
int a = 1, b = 2;
int c = fun(a, &b);
cout << a << b << c << endl;
}
Wydrukuje 221
Zadanie 9
void zad9(const char * nap) {//ABCD
if( *nap != 'D'){
zad9(nap+1);
cout << *nap;
}
}
Wydrukuje CBA
Zadanie 11
const int *p, k = 7;
p = &k;
cout << *p << endl; Wartość *p wynosi 7
Zadanie 14
int tab[] = {1,2,3,4,5}, *t = &tab[1]; cout <<t[2] << " " << t[4] << endl; Wydrukuje 4 i przypadkową liczbę Zadanie 15
int fun(int&);
int k = 1, *m = &k, &n = *m;
//m = fun(k);
//zle
//n = fun(*m);
//dobrze
//n = fun(&k);
//zle
NIE DA RADY ODCZYTAĆ//dobrze
2 i 4 są poprawne
double (*p[2])(double) = {sin, cos}; p[1] = sin;
//double x = p(3.14)[0];
//double x = p(0)[2];
double x = p[0](0)*p[1](2);
p[2]= cos;
//p[0]=cos;
1 4 5
Zadanie 19
int fun(int a, int*pb, int&c) {
++a;
++*pb;
++c;
return a + *pb + c;
}
void zad19(){
int a = 0, b = 1, c = 2, x = fun(a, &b, c); cout << a + b + c + x << endl; Wynikiem tego jest 0 + 2 + 3 + 1 + 2 +3 => 11
Zadanie 20
int k, *p;
int *tab[10];
//p = tab[0];
//tak
//tab[0] = *p;
//nie
//tab[0] = k;
//nie
//tab[0] = &k;
//tak
//p = tab;
//nie
//tab[0] = p;
//tak
cout << "Poprawne odpowiedzi to A D F " << endl; Zadanie 21
int i[10] = {0}, q = 1, *p = i;
//i[5] = p;
//nie
//q = i[5];
//tak
//p = &i[5];
//tak
//p[5] = i[6];
//tak
//*p[5] = 5;
//nie
cout << "2, 3, 4" << endl; Zadanie 22
Struktura B została wcześniej zdefiniowana. Co trzeba skreślić aby to działało
//A a;
//A* pa;
//B b;
cout << "Bedzie mozliwe po skresleniu 2 lini" << endl;
double tab1[] = {1, 4, 7, 10}; double tab2[] = {2, 5, 8, 11}; double tab3[] = {3, 6, 9, 12}; double *tab[] = {tab1, tab2, tab3}; cout << *(*(tab + 2) + 1) << endl; Wyświetli 6
Zadanie 28
void F28(int & n){
}
void zad28(){
int k;
F28(k);
cout << "F(k)" << endl;
}
definiowanie tablic
int t[4] = { 17, 5, 4, 3}
char zdanie[40] = {"wszystkie dzieci nasze sa"}
char zdanie = "wszystkie dzieci nasze sa|
char zdanie2[] = {"jebac lamusow"}
int d[3][3] = {1,2,3,4,5,6,7,8,9}; sizeof(zrodlo)/sizeof(char)
strncat(t1,"123456789",5); wklejenie do t1 5 znakow ""
strcmp(s1,s2); porownuje napisy wskaznik = &tablica[0];
int (*wsk) ();
wsk = pierwsza;
(*wsk)();
cin >> rozmiar;
int * tablica;
tablica = new int[rozmiar];
int (*tablica)[7][4] = new int[rozmiar][7][4]
const double * wsk można go przestawiać a nie wolno modyfikowac //wskaznik do obiektu stalego
double * const wsk mozna go modyfikowac a nie przestawiac
//wskaznik
staly
const double * const wsk nic z nim nie mozna zrobic tablice obiektow dla public:
stacja_metra stacyjka[15] = { { ... } , { ... } , { ... } }
tablice obiektow dla private
stacje_metra zielona_linia[15] = { stacje_metra(...), stacje_metra( ... ) }
Frac operator+(const Frac& f){
Frac wynik;
wynik.nomin = (this->nomin*f.denom)+(f.nomin*this->denom); wynik.denom = (this->denom * f.denom); wynik.skroc();
return wynik;
}
Frac operator+(int n){
Frac wynik;
Frac pom(n);
wynik = *this + pom;
wynik.skroc();
return wynik;
}
Frac operator+(int n, const Frac& f){
Frac wynik;
Frac pom(n);
wynik = pom + f;
wynik.skroc();
return wynik;
}
ostream& operator<<(ostream& s, const Frac& f){
s << "[" << f.nomin << "/" << f.denom << "]"; return s;
}
Tab operator++(int){
Tab * pomocnicza = new Tab(*this); for(int i = 0; i < size; i++){
t[i]++;
}
return * pomocnicza;
}
Tab operator-(){
Tab * pomocnicza = new Tab(*this); for(int i = 0; i < size; i++){
pomocnicza->t[i] *= -1;
}
return * pomocnicza;
}
Stack(const Stack &stack){ }
Tab operator=(const Tab & tab){
size = tab.size;
delete t;
t = new int[size];
for (int i = 0; i < size; i++) {
t[i] = tab.t[i];
}
return * this;
}