Cerința
Se dau n numere întregi. Să se insereze între oricare două numere de aceeași paritate media lor aritmetică.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere întregi, separate prin spații.
Date de ieșire
Programul va afișa pe ecran elementele noului șir de numere obținut după inserarea elementelor, separate prin câte un spațiu.
Restricții și precizări
1 ≤ n ≤ 100
-1.000.000.000 ≤ elementele șirului ≤ 1.000.000.000
Exemplu
Intrare
5
1 21 3 4 8
Ieșire
1 11 21 12 3 4 6 8
Codul meu, la care am doar 80 de puncte:
#include
using namespace std;
int main()
{
long n, v[1000];
cin >> n;
for (int i = 0; i > v[i];
}
for (int i = 0; i = i + 1; j--)
{
v[j + 1] = v[j];
}
v[i + 1] = ma;
i++;
}
}
for (int i = 0; i < n; i++)
{
cout << v[i] << ' ';
}
return 0;
}
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main() {
int n, v[101], new_v[101], x = 1;
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> v[i];
}
for (int i = 1; i <= n; ++i) {
if ((v[i] % 2 == 0 && v[i + 1] % 2 == 0) || (v[i] % 2 != 0 && v[i + 1] % 2 != 0)) {
new_v[x] = v[i];
++x;
new_v[x] = (v[i] + v[i + 1]) / 2;
++x;
} else {
new_v[x] = v[i];
++x;
}
}
for (int i = 1; i < x - 1; ++i) {
cout << new_v[i] << " ";
}
return 0;
}
Explicație:
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă