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

Fisierul text numere.txt contine pe prima linie un numar natural n(1<=n<=10.000) si pe a doua linie,n numere naturale cu cel mult 9 cifre fiecare.Aceste numere sunt dispuse in oridne crescatoare si separate printr-un spatiu.Scrieti un program c++ care citeste valorile din fisier si,printr-o medo eficienta din punct de vedere al timpului de executare afiseaza pe ecran in oridne crescatoare numerele pare de pe a doua linie fisierului,urmate de cele impare in ordine descrescatoare.
Daca e cineva care poate sa ma ajute si pe mine.Multumesc anticipat!


RemusLupin: Care ar fi complexitatea care ar reprezenta "o metoda eficienta din punct de vedere a timpului"? O(N) + citirea merge?
Gabriel1813: da

Răspunsuri la întrebare

Răspuns de RemusLupin
1
#include <bits/stdc++.h>
using namespace std;
int n,i,t[10005];
vector <int> q;
int main() {
    cin>>n;   
for (i=1; i<=n; i++)   
 {
    cin>>t[i];
    if (t[i]%2==0) cout<<t[i]<<" ";
 else q.push_back(t[i]); }
   cout<<endl;    for (i=0; i<q.size(); i++) cout<<q[i]<<" ";}

//
Tine programul) Fisierele le incluzi singur :) Daca o sa ai probleme cu fisierele scrie-mi) Pur si simplu sunt prea obosit ca sa le mai pun xD

Gabriel1813: ok,multumesc
Alte întrebări interesante