Informatică, întrebare adresată de dianacoldea, 9 ani în urmă

Fiind dat un șir de N numere întregi pozitive, să se afișeze pe ecran numerele șirului inițial, cu următoarele modificări: Numerele pare se vor afla pe primele poziții din șir, în ordine crescătoare a pozițiilor în șirul inițial. Numerele impare se vor afla după numerele pare, în ordine descrescătoare a pozițiilor în șirul inițial.
Date de intrare

Se vor citi:

Un număr întreg N
Un șir de N numere întregi pozitive
Date de ieșire

Pe ecran se va afișa șirul modificat.

Restricții

N < 1000
Numerele din șir vor fi mai mici sau egale decât 1000
Exemplu:
Date de intrare:
5
1 8 7 4 5
Date de iesire:
8 4 5 7 1
Rezolvare in C++ URGENT

Răspunsuri la întrebare

Răspuns de BalenaRosie
1
#include <iostream>#include <cmath>using namespace std;int main(){    int j,k , c1 ,c2;    int e1,f1;    int z1 , z2;    int n1 , n2 , n3 , n4 , n5;    int q1 , q2 , q3 , q4 , q5;    int a , b , c , d ,e , f;    b = 0;    c = 0;    cin >> a;    while(a!=b)    {        cin >> b;        c = c*10+b;    }    e = 0;    f = 0;    c1 = c;    while(c!=0)    {        d = c % 10;        if(d%2==0)        {            e = e*10+d;        }        else        {            f = f*10+d;        }        c = c / 10;    }    n1 = 0;    n2 = 0;    n3 = 0;    n4 = 0;    n5 = 0;    q1 = 0;    q2 = 0;    q3 = 0;    q4 = 0;    q5 = 0;    while(e!=0)    {        e1 = e % 10;        if(n1==0)n1 = e1;        else if(n2==0)n2 = e1;        else if(n3==0)n3 = e1;        else if(n4==0)n4 = e1;        else if(n5==0)n5 = e1;        e = e / 10;
    }    while(f != 0)    {        f1 = f % 10;        if(q1==0)q1 = f1;        else if(q2==0)q2 = f1;        else if(q3==0)q3 = f1;        else if(q4==0)q4 = f1;        else if(q5==0)q5 = f1;        f = f / 10;    }    return 0;}
Ca sa intelegi si tu ce am facut mai sus .
Am initializat variabilele n1,n2,n3,n4.n5 cu cifrele pare 
SI q1,q2,q3,q4,q5 cu cifrele impare
Dupa asta trebuie sa verifici pe fiecare si sa le pui in ordine 
Nu am continuat ca lua foarte mult si te-am lasat pe tine sa pui conditia aceea cu max1=n1
                if(max1<=n2)max1=n2;
Spor la lucru :3


dianacoldea: multumesc oricum dar mai simplu daca stie cineva ca asta mi se pare prea complicat
Alte întrebări interesante