Advertisement
Five_NT

Atestat 2014 - Probl. 3

Nov 7th, 2013
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. /*
  2. 3. În fiºierul valori.txt se gãsesc pe prima linie maximum 1000 de numere întregi despãrþite printr-un spaþiu.
  3. Scrieþi un program care sã determine valoarea maximã ºi valoarea minimã, împreunã cu numãrul de apariþii al maximului, respectiv al minimului.
  4. (intensiv: folosiþi o metodã eficientã din punct de vedere al memoriei ºi al numãrului de operaþii efectuate ºi afiºaþi pe ecran valorile obþinute).
  5. Exemplu:conþinutul fiºierului  valori.txt  este : 24 3 89 24 1 3 1 1 89, atunci se vor afiºa rezultatele:
  6. min = 1  nr_aparitii = 3
  7. max = 89  nr_aparitii = 2
  8. */
  9.  
  10. #include <iostream>
  11. #include <fstream>
  12.  
  13. using namespace std;
  14.  
  15. ifstream f("valori.txt");
  16.  
  17. int n, maxi, mini, ap_maxi, ap_mini, i, v[1000];
  18.  
  19. void citire()
  20. {
  21.     i=0;
  22.     while(f>>n){
  23.         i++;
  24.         v[i]=n;
  25.     }
  26. }
  27.  
  28. void minimax()
  29. {
  30.     mini=v[1]; maxi=v[1];
  31.     for(int i=2; i<=n; i++)
  32.     {
  33.         if(mini>v[i])   {mini=v[i];}
  34.         if(maxi<v[i])   {maxi=v[i];}
  35.     }
  36. }
  37.  
  38. void aparitii()
  39. {
  40.     ap_maxi=0;
  41.     ap_mini=0;
  42.     for(int j=2; j<=i; j++)
  43.     {
  44.         if(maxi == v[j]) ap_maxi++;
  45.         if(mini == v[j]) ap_mini++;
  46.     }
  47. }
  48.  
  49. int main()
  50. {
  51.     citire();
  52.     minimax();
  53.     aparitii();
  54.     cout<<"Numarul maxim este "<<maxi<<" si apare de "<<ap_maxi<<" de ori."<<'\n';
  55.     cout<<"Numarul minim este "<<mini<<" si apare de "<<ap_mini<<" de ori."<<'\n';
  56.     return 0;
  57. }
  58. //http://www.girlshare.ro/32972229.4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement