Răspuns :
Salut,
Voi presupune ca nu ai probleme cu citirea si scrierea in fisier, acelea sunt banal de simple, asa ca voi vorbi mai mult de algoritm.
1. Citesti n si apoi iti citesti numere intr-un vector.
2. Ar trebui sa sortezi apoi vectorul ca atunci cand ai nevoie de elemente in ordine crescatoare/descrescatoare sa fie gata ordonate
(ordonam crescator vectorul, iar daca vrem elementele descrescator pur si simplu il vom parcurge de la coada la cap!)
Ordonarea o poti face cu un simplu bubble sort care este banal de casit cu o simpla cautare google, nu are rost sa ii dau eu copy/paste aici.
3. Dupa ce ai ordonat, ca sa iei cele impare in ordine descrescatoare pur si simplu cu un for parcurgi invers vectorul si cu un if verifici numarul curent daca e impar, daca e impar scrii numarul in fisier si apoi mai scrii si un spatiu eventual.
4. Scrii un newline in fisier ca sa treaca pe urmatorul rand.
5. Procedezi aproape identic ca la 3. Adica parcurgi vectorul, dar de data asta in ordinea normala, verifici fiecare nr. daca e par, si daca este atunci il pui la locul lui in fisier.
Asasez o solutie mai compacta. Nu am mai citit din fisier am scris direct niste valori cand testam sa vad daca merge.
De asemenea am folosit functia de sort care exista deja in c++ dar nu stiu daca la scoala va lasa cu asa ceva oricat de fain ar fi :)))
De scris am scris la consola cu cout, dar e banal sa inlocuiesti acel cout cu o scriere in fisier.
Voi presupune ca nu ai probleme cu citirea si scrierea in fisier, acelea sunt banal de simple, asa ca voi vorbi mai mult de algoritm.
1. Citesti n si apoi iti citesti numere intr-un vector.
2. Ar trebui sa sortezi apoi vectorul ca atunci cand ai nevoie de elemente in ordine crescatoare/descrescatoare sa fie gata ordonate
(ordonam crescator vectorul, iar daca vrem elementele descrescator pur si simplu il vom parcurge de la coada la cap!)
Ordonarea o poti face cu un simplu bubble sort care este banal de casit cu o simpla cautare google, nu are rost sa ii dau eu copy/paste aici.
3. Dupa ce ai ordonat, ca sa iei cele impare in ordine descrescatoare pur si simplu cu un for parcurgi invers vectorul si cu un if verifici numarul curent daca e impar, daca e impar scrii numarul in fisier si apoi mai scrii si un spatiu eventual.
4. Scrii un newline in fisier ca sa treaca pe urmatorul rand.
5. Procedezi aproape identic ca la 3. Adica parcurgi vectorul, dar de data asta in ordinea normala, verifici fiecare nr. daca e par, si daca este atunci il pui la locul lui in fisier.
Asasez o solutie mai compacta. Nu am mai citit din fisier am scris direct niste valori cand testam sa vad daca merge.
De asemenea am folosit functia de sort care exista deja in c++ dar nu stiu daca la scoala va lasa cu asa ceva oricat de fain ar fi :)))
De scris am scris la consola cu cout, dar e banal sa inlocuiesti acel cout cu o scriere in fisier.

Vă mulțumim că ați accesat site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați la favorite!