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
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
} 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
Matematică,
8 ani în urmă
Matematică,
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ă
Matematică,
9 ani în urmă