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 naturale, 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
Explicație
Între 1 și 21 se inserează numărul (1+21)/2=11. Între 21 și 3 se inserează numărul (21+3)/2=12. Între 3 și 4 nu se inserează nimic, pentru că au paritate diferită. Între 4 și 8 se inserează numărul 6.
#include
using namespace std;
int main()
{
long long n,v[101],i,x,k;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
{
if(v[i]%2==v[i+1]%2)
{
k=i+1;
x=(v[i]+v[i+1])/2;}
for(i=n+1;i>=k;i--)
v[i+1]=v[1];
v[k]=x;
n++;
}
for(i=1;i<=n;i++)
cout<
return 0;
}
asta e codul facut de mn de ce imi apar doar doua elemente 1 si 11?
ma puteti ajuta???
dau coronita
Răspunsuri la întrebare
Răspuns de
11
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long n,i,v[101],k;
cin>>n;
for (i=1;i<=n;i++)
{
cin>>v[i];
}
cout<<v[1]<<" ";
for (i=1;i<n;i++)
{
if ((v[i]%2==0&&v[i+1]%2==0)||(v[i]%2!=0&&v[i+1]%2!=0))
{
k=(float)(v[i]+v[i+1])/2;
cout<<k<<" "<<v[i+1]<<" ";
}
else
{
cout<<v[i+1]<<" "; }
}
}
#include <cmath>
using namespace std;
int main()
{
long long n,i,v[101],k;
cin>>n;
for (i=1;i<=n;i++)
{
cin>>v[i];
}
cout<<v[1]<<" ";
for (i=1;i<n;i++)
{
if ((v[i]%2==0&&v[i+1]%2==0)||(v[i]%2!=0&&v[i+1]%2!=0))
{
k=(float)(v[i]+v[i+1])/2;
cout<<k<<" "<<v[i+1]<<" ";
}
else
{
cout<<v[i+1]<<" "; }
}
}
katan1:
mai am o intrebare.... de ca la ultimul for ai pus strict mai mic ca n si nu mai mic sau egal??
Alte întrebări interesante
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă