miknik97

Algorytmy Nieboże

Oct 25th, 2018
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.65 KB | None | 0 0
  1. /*
  2.     1. Wygeneruj 6 liczb z zakresu do 1 do 49 bez powtórzeń.
  3.     2. Problem wydawania reszty. Wydać dowolną resztę:
  4.     a) przy nieograniczonej liczbie nominalow
  5.     b) przy ograniczonej liczbie nominalow
  6.     3. Znjadź minimum funkcji f(x)=x^3*ln(1-sin^2*sqrt(x)*y) dla
  7.     xE<0,1> z dokładnością do 0.01
  8.     yE<-pi,pi> z dokładnością do pi/10
  9. */
  10.  
  11. #include <iostream>
  12. #include <time.h>
  13.  
  14. using namespace std;
  15. void zad1()
  16. {
  17.     int tab[49];
  18.     srand(time(NULL));
  19.     for(int i=0; i<49; i++)
  20.     {
  21.         tab[i]=rand()%49+1;
  22.         for(int j=0; j<i; j++)
  23.         {
  24.             if(tab[i]==tab[j])
  25.             {
  26.                 tab[i]=rand()%49+1;
  27.                 j=-1;
  28.             }
  29.         }
  30.     }
  31.     for(int i=0; i<6; i++) cout<<tab[i]<<" ";
  32. }
  33.  
  34. void zad2(char znak)
  35. {
  36.     int tab[9] = {1, 2, 5, 10, 20, 50, 100, 200, 500};
  37.     int zaplata, doZaplaty, reszta=0, i;
  38.     srand(time(NULL));
  39.     doZaplaty=rand()%1000+50;
  40.     cout<<"Do zaplaty masz: "<<doZaplaty<<" zl"<<endl;
  41.     cout<<"Podaj ile chcesz zaplacic: ";
  42.     cin>>zaplata;
  43.  
  44.     if(znak=='a')
  45.     {
  46.         i=8;
  47.         cout<<"Otrzymujesz: ";
  48.         do
  49.         {
  50.             reszta+=tab[i];
  51.             if(reszta>(zaplata-doZaplaty))
  52.             {
  53.                 reszta-=tab[i];
  54.                 i--;
  55.             }
  56.             else
  57.             {
  58.                 cout<<tab[i];
  59.                 if(reszta!=zaplata-doZaplaty) cout<<" + ";
  60.             }
  61.         } while(reszta!=(zaplata-doZaplaty));
  62.         cout<<" = "<<reszta<<endl;
  63.     }
  64.  
  65.     else if(znak=='b')
  66.     {
  67.         int ile[9];
  68.         cout<<"Sprzedawca posiada: ";
  69.         for(int j=0; j<9; j++)
  70.         {
  71.             ile[j]=rand()%10;
  72.             cout<<tab[j]<<"x"<<ile[j]<<" ";
  73.         }
  74.         i=8;
  75.         cout<<"\nOtrzymujesz: ";
  76.         do
  77.         {
  78.             if(ile[i]>0)
  79.             {
  80.                 reszta+=tab[i];
  81.                 if(reszta>(zaplata-doZaplaty))
  82.                 {
  83.                     reszta-=tab[i];
  84.                     i--;
  85.                 }
  86.                 else
  87.                 {
  88.                     ile[i]=ile[i]-1;
  89.                     cout<<tab[i];
  90.                     if(reszta!=zaplata-doZaplaty) cout<<" + ";
  91.                 }
  92.             }
  93.             else i--;
  94.             if(ile[0]==0)
  95.             {
  96.                 system("cls");
  97.                 cout<<"Brak reszty!"<<endl;
  98.                 break;
  99.             }
  100.             if(reszta==(zaplata-doZaplaty)) cout<<" = "<<reszta<<endl;
  101.         } while(reszta!=(zaplata-doZaplaty));
  102.     }
  103. }
  104. void zad3()
  105. {
  106.  
  107.  
  108. }
  109. int main()
  110. {
  111.     //zad1();
  112.     zad2('a');
  113.     //zad3();
  114.     return 0;
  115. }
Add Comment
Please, Sign In to add comment