Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ****************************************************************************************************
- 4.Fisierul unu.in contine pe primul rând valoarea n ( 2<n<1.000.000 ), iar pe a doua linie se gasesc n
- numere întregi formate din cel mult 9 cifre si despartite prin spatiu. Stiind ca fisierul contine cel
- putin doua numere distincte printre cele n de pe a doua linie, scrieti un program care sa scrie în
- fisierul unu.out pe o singura linie si separate printr-un spatiu, în ordine descrescatoate, cele mai
- mari doua valori distincte din fisierul de intrare. (intensiv: alegeti o metoda eficienta de rezolvare
- atât ca timp de executare, cât si ca gestionare a memoriei)
- Exemplu :
- unu.in unu.out
- 10
- -8 14 8 14 15 9 -7 1 4 10 15 14
- **************************************************************************************************** */
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("unu.in");
- ofstream g("unu.out");
- int n, v[100];
- void citire();
- void maxim();
- int main()
- {
- citire();
- maxim();
- f.close();
- g.close();
- return 0;
- }
- void citire()
- {
- f>>n;
- for(int i=1; i<=n; i++)
- f>>v[i];
- }
- void maxim()
- {
- int maxi1=v[1];
- int maxi2=v[1];
- for(int i=1; i<=n; i++)
- {
- if(maxi1<v[i])
- maxi1=v[i];
- }
- for(int i=1; i<=n; i++)
- if(maxi1 != v[i])
- if(maxi2<v[i])
- maxi2=v[i];
- g<<maxi1<<" "<<maxi2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement