Feladatok
5.
Adott n és egy n elemű tömb.
- Mennyi az elemek átlaga?
- Írjuk ki jobbról balra!
- Töröljük belőle a párosakat!
- Minden 1-es után szúrjunk be még egy 1-est és írjuk ki!
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
60
61
| #include <iostream>
using namespace std;
int main()
{
int n;
int t[100];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> t[i];
}
// a)
int s = 0;
for (int i = 0; i < n; i++) {
s = s + t[i];
}
cout << (double)s / n << endl;
// b)
for (int i =n-1; i >=0; i--)
cout<<t[i] <<" " ;
// c)
int i = 0;
while (i < n) {
if (t[i] % 2 == 0) {
// törölni kell t[i]-t
for (int j = i; j <= n-2; j++) {
t[j] = t[j+1];
}
n--;
}
else {
i++;
}
}
//d)
for (int i = 0; i < n; i++) {
if (t[i] == 1) {
// i+1-re beszúrunk
for (int j = n-1; j > i; j--) {
t[j+1] = t[j];
}
n++;
t[i+1] = 1;
i++;
}
}
for (int i = 0; i < n; i++)
cout << t[i] << ' ';
cout << endl;
return 0;
}
|
6.
Adott n. Írjuk ki a legnagyobb és
legkisebb és számot, ami a
számjegyeiből építhető!
Megoldás rendezéssel:
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
| #include <iostream>
using namespace std;
int main()
{
int n;
int t[100];
cin >> n;
int i = 0;
for (; n>0 ; i++) {
t[i]=n%10;
n=n/10;
}
// itt i a számjegyek száma lett
for (int j=0; j<i; j++)
for( int k=j+1; k<i; k++)
if (t[k] > t[j]){
int temp = t[j];
t[j] = t[k];
t[k] = temp;
}
int m = 0;
for (int j = 0; j < i; j++) {
m = m*10 + t[j];
}
cout << m << endl;
// egyszerű kiírás a szám felépítése nélkül:
// for (int j = 0; j < i; j++)
// cout << t[j];
// cout << endl;
return 0;
}
|
Megoldás frekvenciatömbbel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #include <iostream>
using namespace std;
int main()
{
int n, t[10] = {};
cin >> n;
while (n>0)
{
int i = n%10;
t[i]++;
n = n/10;
}
for (int szj = 9; szj >= 0; szj--) {
for (int i = 1; i <= t[szj]; i++)
cout << szj;
}
cout << endl;
return 0;
}
|
7.
Adott tömbből állítsuk elő az összes
rendezett elempárt, amiben a tagok
összege osztható 5-tel.
Pl.
5
12 55 3 15 22
(12,3) (55,15) (3,12) (3,22) (15,55) (22,3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| #include <iostream>
using namespace std;
int main()
{
int t[100];
int n;
cin>>n;
for (int i=0; i<n; i++)
cin>>t[i];
for (int i=0; i<n-1; i++)
for (int j=i+1; j<n; j++){
if ((t[i]+t[j])%5==0){
cout<<t[i]<<" "<<t[j]<<endl;
cout<<t[j]<<" "<<t[i]<<endl;
}
}
return 0;
}
|