Tétel
2 pont hivatalból. Munkaidő: 45 perc.
1.
Írjunk programot, amely beolvas egy tömböt, törli belőle az első 5-ös elemet, majd kiírja a tömböt,
aztán törli az összes 2-est, majd ismét kiírja a tömböt! (2x1p törlések + 1p a beolvasás, kiírás)
Példa
bemenet: 9
1 2 5 2 5 3 2 5 1
kimenet: 1 2 2 5 3 2 5 1
1 5 3 5 1
Megoldás:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| #include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int t[100];
for (int i = 0; i < n; i++)
cin >> t[i];
int elso_otos_helye = -1;
for (int i = 0; i < n; i++)
if (t[i] == 5 && elso_otos_helye == -1)
elso_otos_helye = i;
if (elso_otos_helye != -1) {
for (int j = elso_otos_helye+1; j < n; j++)
t[j-1] = t[j];
n--;
}
for (int i = 0; i < n; i++)
cout << t[i] << " ";
cout << endl;
int i = 0;
while (i < n)
if (t[i] == 2) {
// töröljük t[i]-t
for (int j = i+1; j < n; j++)
t[j-1] = t[j];
n--;
// i++ nincs!
}
else
i++;
for (int i = 0; i < n; i++)
cout << t[i] << " ";
cout << endl;
return 0;
}
|
2.
Írjunk programot, ami egy tömbben a felhasználó által megadott pozícióra (0-tól sorszámozva) beszúr
egy szintén a felhasználó által megadott elemet. Kövessük nyomon az elkészült program futását egy
bizonyos bemenetre (táblázat a változók értékeinek változásával)! (2x1p)
Megoldás:
lásd a beszúrásoknál
3.
Írjunk kódrészletet, ami az n elemű t[] tömbről ellenőrzi, hogy minden eleme osztható-e tízzel,
és ennek megfelelően kiír egy igen/nem üzenetet! (1p)
Megoldás:
1
2
3
4
5
6
7
8
9
10
| bool ok = true;
for (int i = 0; i < n; i++)
if (t[i] % 10 != 0)
ok = false;
if (ok)
cout << "igen" << endl;
else
cout << "nem" << endl;
|
4.
Írjunk kódrészletet, ami az n elemű t[] tömbről ellenőrzi, hogy szigorúan csökkenő sorrendben vannak-e
az elemei! Írjuk ki a megfelelő igen/nem üzenetet. (1p)
Megoldás:
1
2
3
4
5
6
7
8
9
10
| bool ok = true;
for (int i = 1; i < n; i++)
if (t[i] >= t[i-1])
ok = false;
if (ok)
cout << "igen" << endl;
else
cout << "nem" << endl;
|
5.
Írjunk kódrészletet, ami az n elemű t[] tömb páratlan elemeit fordított sorrendben írja ki! (1p)
Megoldás:
1
2
3
| for (int i = n-1; i >= 0; i--)
if (t[i] % 2 != 0)
cout << t[i] << " ";
|