Felmérő lesz nov. 5-én a függvényes fejezet rekurzió előtti részéből!
Tétel
2 pont jár hivatalból. Munkaidő: 45 perc.
1.
Mit ír ki az alábbi program? Kövessük nyomon a függvényhívásokat! – 3 x 1.5p
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| #include <iostream>
using namespace std;
int f(int x, int &y)
{
x++; y++;
return x+y;
}
int g(int &x, int y)
{
int s1 = f(x, y);
int s2 = f(y, x);
return s1 + s2;
}
int main()
{
int a=10, b=20;
cout << f(a,b) << endl;
cout << a << " " << b << endl;
int x = 5, y = 7;
cout << g(x, y) << endl;
cout << x << " " << y << endl;
cout << f(x, x) << endl;
cout << x << endl;
return 0;
}
|
Válasz:
32
10 21
29
6 7
14
7
2.
Írjunk függvényt, amely kap két pozitív egész paramétert és visszatéríti a legkisebb közös többszörösüket! – 1p
1
2
3
4
5
6
7
8
9
| int masodik(int a, int b)
{
int lkkt = a;
while (lkkt % a != 0 || lkkt % b != 0)
lkkt++;
return lkkt;
}
|
3.
Írjunk függvényt, ami megkap egy tömböt és ennek hosszát, az egyjegyű számokat nullára állítja a tömbben, majd visszatéríti a kétjegyű páratlan elemek összegét! – 2x0.5p
1
2
3
4
5
6
7
8
9
10
11
12
13
| int harmadik(int t[], int n)
{
int osszeg = 0;
for (int i = 0; i < n; i++) {
if (t[i] < 10)
t[i] = 0;
else if (t[i] < 100 && t[i] % 2 == 1)
osszeg += t[i];
}
return osszeg;
}
|
4.
Írjunk függvényt, mely paraméterként megkap egy természetes számot, két újabb paraméteren keresztül visszaküldi ennek legkisebb és legnagyobb számjegyét, és kiírja a képernyőre a számjegyek összegét! – 3x0.5p
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| void negyedik(int n, int &minimum, int &maximum)
{
minimum = 10;
maximum = -1;
int osszeg = 0;
if (n == 0) {
minimum = 0;
maximum = 0;
}
while (n > 0) {
int szj = n % 10;
if (szj < minimum)
minimum = szj;
if (szj > maximum)
maximum = szj;
osszeg += szj;
n = n / 10;
}
cout << osszeg << endl;
}
|