1.
Az input.txt fájlban adott n (n≤100), majd n
darab pozitív egész.
- Olvassuk be, tároljuk egy tömbben!
- Rendezzük csökkenő sorrendbe!
- Töröljük ki a prímeket!
- Írjuk ki jobbról balra haladva minden második elemét!
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
49
50
51
52
53
54
55
56
57
58
59
| #include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream be("input.txt");
// a)
int n, t[100];
be>>n;
for (int i = 0; i < n; i++)
be >> t[i];
// b)
for (int i = 0; i < n; i++)
for (int j = i+1; j < n; j++)
if (t[i] < t[j]) {
int temp = t[i];
t[i] = t[j];
t[j] = temp;
}
for (int i = 0; i < n; i++)
cout << t[i] << " ";
cout << endl;
// c)
for (int i = 0; i < n; i++) {
int hany_oszto = 0;
for (int j = 1; j <= t[i]; j++)
if (t[i] % j == 0)
hany_oszto++;
if (hany_oszto == 2) {
for (int j = i; j <= n-2; j++)
t[j] = t[j+1];
n--;
i--;
}
}
for (int i = 0; i < n; i++)
cout << t[i] << " ";
cout << endl;
// d)
for(int i = n-2; i >= 0; i-=2)
cout<<t[i] << " ";
cout << endl;
return 0;
}
|
2.
Az input.txt fájlban adott n, n≤pow(10,9), majd egy n
elemű 100-nál nem nagyobb pozitív egészekből álló
sorozat.
- Olvassuk be, tároljuk megfelelően!
- Hány olyan eleme van, ami nem ismétlődik?
- Írjuk ki csökkenő sorrendben a 10-zel osztható elemeket!
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
| #include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream be("input.txt");
// a)
int n, t[101] = {};
be>>n;
for (int i = 0; i < n; i++) {
int szam;
be >> szam;
t[szam]++;
}
// b)
int db = 0;
for (int ertek = 0; ertek <= 100; ertek++)
if (t[ertek] == 1)
db++;
cout << db << endl;
// c)
for (int ertek = 100; ertek >= 0; ertek-=10)
for (int i = 0; i < t[ertek]; i++)
cout << ertek << " ";
cout << endl;
return 0;
}
|
3.
Az input.txt fájlban adott n (n≤100), majd egy n x
n-es négyzetes mátrix elemei.
- Olvassuk be és tároljuk az elemeket!
- Írjuk ki azt az oszlopot, ahol a legkisebb az elemek szorzata (holtverseny esetén a jobb oldalit)!
- Számítsuk ki a mellékátlón található elemek átlagát!
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
49
50
| #include <iostream>
#include <fstream>
#include <climits>
using namespace std;
int main()
{
ifstream be("input.txt");
// a)
int n, t[100][100];
be >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
be >> t[i][j];
// b)
int min_szorzat = INT_MAX, j_min_szorzat = -1;
for (int j = 0; j < n; j++) {
int szorzat = 1;
for (int i = 0; i < n; i++)
szorzat *= t[i][j];
if (szorzat <= min_szorzat) {
min_szorzat = szorzat;
j_min_szorzat = j;
}
}
for (int i = 0; i < n; i++) {
cout << t[i][j_min_szorzat] << " ";
}
cout << endl;
// c)
int s = 0, db = 0;
for (int i = 0; i < n; i++) {
s += t[i][n-i-1];
db++;
}
cout << (double) s / db << endl;
return 0;
}
|
4.
Állítsuk elő az alábbi mátrixokat (megfelelő
változódeklarációk és két egymásba ágyazott for ciklus
segítségével)! Nem kell teljes programot írni, csak
kódrészleteket. – 2 x 0.5 pont
a.
1 3 5 7 9
3 5 7 9 11
5 7 9 11 13
7 9 11 13 15
1
2
3
4
5
| int a[4][5];
for (int i = 0; i < 4; i++)
for (int j = 0; j < 5; j++)
a[i][j] = 1 + 2*(i+j);
|
b.
1 1 1 1 1 1
2 2 2 2 2 1
3 3 3 3 2 1
4 4 4 3 2 1
5 5 4 3 2 1
1
2
3
4
5
6
7
8
| int a[5][6];
for (int i = 0; i < 5; i++)
for (int j = 0; j < 6; j++)
if (i + 1 < 6-j)
a[i][j] = i+1;
else
a[i][j] = 6-j;
|
5.
Adottak az n, m változók, illetve a t mátrix
benne n x m elemmel. Írjunk kódrészletet, amely
átrendezi az oszlopokat az elemek összege szerinti
növekvő sorrendbe! (Deklaráljuk a segédváltozókat,
beolvasni és kiírni nem kell.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| int osszegek[100] = {};
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
osszegek[j] += t[i][j];
for (int j1 = 0; j1 < m; j1++)
for (int j2 = j1+1; j2 < m; j2++)
if (osszegek[j1] > osszegek[j2]) {
// oszlopcsere
for (int i = 0; i < n; i++) {
int temp = t[i][j1];
t[i][j1] = t[i][j2];
t[i][j2] = temp;
}
// megfelelő csere az osszegek tömbben
int temp = osszegek[j1];
osszegek[j1] = osszegek[j2];
osszegek[j2] = temp;
}
|