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”

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

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;

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

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;

}