👤

Salutare, nu pot face nicicum problema asta. am scris un cod, dar nu functioneaza :(
#159 inserareDupa
Se dă un șir cu n elemente naturale.

Cerinţa
Să se insereze în șir după fiecare element par dublul său.

Date de intrare
Programul va citi de la tastatură numărul n, apoi n numere naturale reprezentând elementele șirului.

Date de ieşire
Programul va afișa pe ecran elementele șirului obținut după inserare, separate printr-un spațiu.

Restricţii şi precizări
1 ≤ n ≤ 25
elementele șirului vor fi cuprinse între 0 și 1.000.000

Exemplu
Date de intrare

5
7 3 4 1 6
Date de ieșire

7 3 4 8 1 6 12


Răspuns :

#include <iostream>

using namespace std;

int main(){

   int n, i, k=0;

   cin>>n;

   int v[n*2];

   for(i=0;i<n;i++){

       cin>>v[k]; //Stocam separat in variabila k pe la cat am ajuns cu stocarea

      //Daca termenul introdus este par, sarim peste un spatiu, si inseram dupa el

       if(v[k]%2==0)

           k++;

       k++;

   }

   //Acum facem din nou un for si completam spatiile goale cu dublul nr pare

   for(i=0;i<k;i++){

       //Cautam iarasi elementele pare

       if(v[i]%2==0){

           v[i+1]=v[i]*2; //Introducem in urmatorul element dublul

           i++; //Incrementam i ca sa sarim peste urmatorul element

       }

   }

   for(i=0;i<k;i++){

       cout<<v[i]<<" ";

   }

   return 0;

}

O altă viziune de rezolvare:

#include <iostream>

using namespace std;

int a[51];

int main()

{

   int n, i, num;

   cin >> n;

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

   {

       cin >> num;

       if (num%2==0) { a[i]=num; ++i; a[i]=2*num; ++n; }

       else a[i]=num;

   }

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

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

   return 0;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!


En Studentsy: Alte intrebari