Advertisement
monyca98

problema platii unei sume greedy

May 30th, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include<fstream>
  2. #include<iostream>
  3. using namespace std;
  4. ifstream f("e:\\info\\greedy\\suma.txt");
  5. int  n,s,v[20];
  6.  
  7. void citire()
  8. {f>>n>>s;
  9.  for(int i=1;i<=n;i++)
  10.     f>>v[i];
  11.  f.close();
  12. }
  13.  
  14. void afis()
  15. {cout<<"bancnote valabile ";
  16. for(int i=1;i<=n;i++)
  17.   cout<<v[i]<<" " ;
  18. }
  19. void sortare()
  20. {int aux;
  21.  for(int i=1;i<n;i++)
  22.    for(int j=i+1;j<=n;j++)
  23.     if(v[i]<v[j])
  24.     {   aux=v[i];
  25.         v[i]=v[j];
  26.         v[j]=aux;
  27.     }
  28. }
  29.  
  30. void greedy()
  31. { int i=1;
  32.   while(s!=0)
  33.   { if(s/v[i]!=0)
  34.     {   cout<<s/v[i]<<" bancnote cu valoarea "<<v[i]<<endl;
  35.         s=s%v[i];
  36.  
  37.     }
  38.         i++;
  39.     if(v[i]==0)
  40.     {   cout<<"nu mai exista solutii";
  41.         break;
  42.     }
  43.   }
  44. }
  45. int main()
  46. {
  47.   citire();
  48.   afis();
  49.   sortare();
  50.   cout<<endl;
  51.   afis();
  52.   cout<<endl;
  53.   greedy();
  54. }4
  55. 147
  56. 10 5 50 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement