Informatică, întrebare adresată de dobre50, 8 ani în urmă

Se dau n numere intregi. Sa se insereze intre oricare doua numere de aceeasi paritate media lor aritmetica.

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int main()

{

 int n, a[1001];

 //Citim cele n numere pe care le stocam intr-un vector

 cin >> n;

 for (int i = 1; i <= n; ++i)

 {

   cin >> a[i];

 }

 //Inseram intre oricare 2 numere cu aceeasi paritate media lor aritmetica

 for (int i = 1; i < n; ++i)

 {

   if ((a[i] % 2 == 0 && a[i + 1] % 2 == 0) ||(a[i] % 2 != 0 && a[i + 1] % 2 != 0))

   {

     //Salvam cei 2 termeni

     int t1 = a[i], t2 = a[i + 1];

     //Marim lungimea sirului

     n++;

     for (int j = n; j > i + 1; --j)

     {

       a[j] = a[j - 1];

     }

     //Copiem in elementul liber media aritmetica a celor 2 termeni

     a[i + 1] = (t1 + t2)/2;

     i++;

   }

 }

 //Afisam noul vector

 for (int i = 1; i <= n; ++i)

 {

   cout << a[i] << " ";

 }

 return 0;

}

Alte întrebări interesante