Advertisement
Kassiow

Mocna mieszanka

Apr 23rd, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cmath>
  4. #include <cstdlib>
  5. #include <climits> // Atom nie obsluguje INT_MIN i INT_MAX, dlatego trzeba było dodać te biblioteke
  6.  
  7. using namespace std;
  8.  
  9. int NWD(int, int);
  10. int NWW(int, int);
  11. void sort(int[], int[]);
  12. void minmax(int[]);
  13. bool pierwsza(int);
  14.  
  15.  
  16. int main() {
  17.  
  18.   srand(time(NULL));
  19.   int w, a, b, nwd, ile, x, p, k;
  20.   int zbior[10]={0};
  21.   int kubelki[5]={0};
  22.   int ciag[10],tablica[10];
  23.   int mon[10];
  24.   int ax, bx, ay, by, x1, y1;
  25.   int c,nr,x2;
  26.   float delta;
  27.   int y,r;
  28.   int x0;
  29.  
  30.   cout << "\n 1. NWD\n 2. NWW\n 3. Lider + sortowanie kubelkowe\n 4. Monotonicznosc ciagu\n 5. MIN & MAX\n 6. L.PIERWSZA \n 7.Przynaleznosc punktu do odcinka \n 8.Stabilna \n 9.Niestabilna \n 10. Polozenie punktu od okregu \n 11.Rownanie kwadratowe \nPODAJ SWOJ WYBOR: ";
  31.   cin >> w;
  32.  
  33.   switch(w) {
  34.  
  35.     case 1:
  36.       cout << "\nPodaj a>0 i b>0: ";
  37.       cin >> a;
  38.       cin >> b;
  39.       cout << "NWD a i b = " <<NWD(a,b);
  40.       break;
  41.  
  42.     case 2:
  43.       cout << "\nPodaj a>0 i b>0: ";
  44.       cin >> a;
  45.       cin >> b;
  46.       cout << "NWW a i b = " << a*b / NWD(a,b);
  47.       break;
  48.  
  49.     case 3:
  50.  
  51.       cout << "\nTablica: ";
  52.  
  53.       for(int i=0; i<10; i++) {
  54.         zbior[i] = rand()%4+1; //Zakres <1;4>
  55.         cout << zbior[i] << " ";
  56.       }
  57.  
  58.       cout << endl;
  59.       sort(zbior,kubelki);
  60.       break;
  61.  
  62.     case 4:
  63. cout << "podaj ciag" << endl;
  64.     for(int i=0;i<10;i++){
  65.     cin>>mon[i];
  66.  
  67.     }
  68.  
  69.     cout<<" sprawdzamy czy jest rosnaca"<<endl;
  70.     for(int j=0;j<10;j++){
  71.         if(mon[j]<mon[j+1]){
  72.             cout<<"czy "<<mon[j]<<" < "<<mon[j+1]<<endl;
  73.  cout<<"jest rosnaca"<<endl;}
  74.             else{
  75.  
  76.                 break;}}
  77.  
  78. cout<<" sprawdzamy czy jest malejaca"<<endl;
  79.     for(int j=0;j<10;j++){
  80.         if(mon[j]>mon[j+1]){
  81.             cout<<"czy "<<mon[j]<<" > "<<mon[j+1]<<endl;
  82.             cout<<"jest malejaca"<<endl;}
  83.             else{
  84.                 cout<<"nie jest malejace"<<endl;
  85.  
  86.  
  87.                 break;}
  88.  
  89.  
  90.     }
  91.  
  92.  
  93.  
  94.  
  95.  break;
  96.     case 5:
  97.  
  98.       cout << "\nCiag liczb: ";
  99.  
  100.       for(int i=0; i<10; i++) {
  101.         ciag[i]=rand()%100;
  102.         cout << ciag[i] << " ";
  103.       }
  104.  
  105.       minmax(ciag);
  106.       break;
  107.  
  108.     case 6:
  109.       cout << "Podaj zakres liczbowy <poczatek;koniec> : ";
  110.       cin >> p;
  111.       cin >> k;
  112.       cout << "\nLiczby pierwsze: ";
  113.  
  114.       for(int i=p-1; i<k; i++) {
  115.         ciag[i]=i+1;
  116.         x=ciag[i];
  117.         if(pierwsza(x)==true) {
  118.           ile++;
  119.           cout << x << " ";
  120.         }
  121.       }
  122.  
  123.       cout << "\nIlosc pierwszych: " << ile;
  124.       break;
  125.  
  126.     default:
  127.       cout << "KONIEC";
  128.       break;
  129.  
  130.     case 7:
  131.  int ax, bx, ay, by, x1, y1;
  132.  cout<<"Podaj X i Y punktów A i B"<<endl<<"Xa : ";
  133.  cin>>ax;
  134.  cout<<"Ya ; ";
  135.  cin>>ay;
  136.  cout<<endl<<"Xb ; ";
  137.  cin>>bx;
  138.  cout<<"Yb ; ";
  139.  cin>>by;
  140.  cout<<endl<<"Podaj X i Y punktu C ";
  141.  cout<<endl<<"Xc ; ";
  142.  cin>>x1;
  143.  cout<<"Yc ; ";
  144.  cin>>y1;
  145.     if (bx*y1+ax*by+x1*ay-ax*y1-bx*ay-x1*by==0 && x>=min(ax, bx)&& x<=max(ax, bx) && y>=min(ay, by) && y<=max(ay, by))
  146.     {
  147.      cout<<endl<<"Punkt C nalezy do odcinka AB";
  148.     }
  149.  else cout<<"Punkt C nie nalezy do odcinka AB";
  150.  
  151. case 8:
  152.     cout << "wype³niamy tablice" << endl;
  153.     srand(time(NULL));
  154.     for(int i=0;i<9;i++){
  155.         tablica[i]=rand()%7+4;
  156.         cout<<tablica[i]<<", ";
  157.     }
  158.  
  159.         cout<<"dla losowych a,b,c wyliczamy algorytm stabilny"<<endl;
  160.         for(int k=0;k<3;k++){
  161.  
  162.         for(int i=0;i<3;i++){
  163.             a=tablica[i];
  164.         }
  165.         for(int i=3;i<6;i++){
  166.             b=tablica[i];
  167.         }
  168.         for(int i=6;i<9;i++){
  169.             c=tablica[i];
  170.         }
  171.         delta=(b*b)-4*a*c;
  172.         if(delta==0){
  173.             x=(-1*b)/(2*a);
  174.             cout<<"x= "<<x<<endl;
  175.         }if(delta<0)
  176.         cout<<"brak rozwiazan"<<endl;
  177.         if(delta>0){
  178.                 if(b<0){
  179.                     x1=((-b)+sqrt(delta))/(2*a);
  180.                     x2=(c/a)/x1;
  181.                     cout<<"x1= "<<x1<<" x2= "<<x2<<endl;
  182.                 }
  183.                 if(b>0){
  184.                     x1=((-b)-sqrt(delta))/(2*a);
  185.                     x2=(c/a)/x1;
  186.                     cout<<"x1= "<<x1<<" x2= "<<x2<<endl;
  187.                 }
  188.         }
  189.         }
  190.  
  191.  
  192.  
  193.  
  194.  
  195. case 9:
  196.     cout << "wype³niamy tablice" << endl;
  197.     srand(time(NULL));
  198.     for(int i=0;i<9;i++){
  199.         tablica[i]=rand()%7+4;
  200.         cout<<tablica[i]<<", ";
  201.     }
  202.      cout<<"dla losowych a,b,c wyliczamy algorytm niestabilny"<<endl;
  203.         for(int k=0;k<3;k++){
  204.  
  205.         for(int i=0;i<3;i++){
  206.             a=tablica[i];
  207.         }
  208.         for(int i=3;i<6;i++){
  209.             b=tablica[i];
  210.         }
  211.         for(int i=6;i<9;i++){
  212.             c=tablica[i];
  213.         }
  214.         delta=(b*b)-4*a*c;
  215.         if(delta==0){
  216.             x=(-1*b)/(2*a);
  217.             cout<<"x= "<<x<<endl;
  218.         }if(delta<0)
  219.         cout<<"brak rozwiazan"<<endl;
  220.         if(delta>0){
  221.                     x1=((-b)+sqrt(delta))/(2*a);
  222.                     x2=((-b)-sqrt(delta))/(2*a);
  223.                   cout<<"x1= "<<x1<<" x2= "<<x2<<endl;
  224.                 }
  225.         }
  226. case 10:
  227.     cout << "wylosujemy teraz dwie liczby z przedzialu od -5 do 5\n";
  228.     srand (time(NULL));
  229.     x=rand()%((5-(-5))+1)+(-5);
  230.     cout<<"\n1 liczba="<<x;
  231.     y=rand()%((5-(-5))+1)+(-5);
  232.     cout<<"\n2 liczba="<<y;
  233.     cout<<"\nPodaj promien kola=";
  234.     cin>>r;
  235.     cout<<"wyliczamy gdzie lezy punkt A";
  236.     if((r*r)==(x*x)+(y*y))
  237.     cout<<"\nPunkt A lezy na okregu";
  238.     else{
  239.         if((r*r)<(x*x)+(y*y))
  240.             cout<<"\nPunkt A lezy poza okregiem";
  241.             else{
  242.                 if((r*r)>(x*x)+(y*y))
  243.                     cout<<"\nPunkt A le¿ey w okregu";
  244.             }
  245.  
  246.     }
  247.  
  248.   }
  249.   return 0;
  250. }
  251. //------------------------------------------------------------------------
  252. int NWD(int A, int B) {
  253.  
  254.   int r=0;
  255.   while(B>0) {
  256.     r=A%B;
  257.     A=B;
  258.     B=r;
  259.   }
  260.   return A;
  261. }
  262.  
  263. void sort(int zbior[], int kubelki[]) {
  264.  
  265.   int lider=10/2;
  266.   bool tak=false;
  267.  
  268.   for(int i=0; i<10; i++) {
  269.  
  270.     for(int j=1; j<5; j++) {
  271.       if(zbior[i]==j)
  272.         kubelki[j]++;
  273.     }
  274.   }
  275.  
  276.   cout << "Kubelki: ";
  277.   for(int k=1; k<5; k++) {
  278.     cout << kubelki[k] << " ";
  279.   }
  280.  
  281.   cout << "\nLider musi wystapic: " << lider;
  282.  
  283.   for(int k=1; k<5; k++) {
  284.  
  285.     if(kubelki[k]>=lider) { //Lider może być 1! Ciekawe co bedzie jak 2 liczby spełnią warunek lidera...
  286.       cout << "\nLider to: " << k;
  287.       tak=true;
  288.     }
  289.   }
  290.  
  291.   if(tak==false)
  292.     cout << "\nPrzykro mi, brak lidera ;(";
  293. }
  294.  
  295. void minmax(int ciag[]) {
  296.   int Max=INT_MIN;
  297.   int Min=INT_MAX;
  298.  
  299.   for(int i=0; i<10; i++) {
  300.  
  301.     if(ciag[i]>Max)
  302.       Max = ciag[i];
  303.  
  304.     if(ciag[i]<Min)
  305.       Min = ciag[i];
  306.   }
  307.   cout << "\nMaksymalna liczba: " << Max;
  308.   cout << "\nMinimalna liczba: " << Min;
  309. }
  310.  
  311. bool pierwsza(int x) {
  312.  
  313.   if(x<2) {
  314.     return false;
  315.   }
  316.   for(int i=2; i<=sqrt(x); i++) {
  317.     if(!(x%i)) {
  318.       return false;
  319.     }
  320.   }
  321.   return true;
  322. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement