background image

Zdjęcia Kajana

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”

background image

Zadanie 7

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

background image

Zadanie 16

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;

background image

Zadanie 25

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( ... ) }

background image

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

;

}