Advertisement
poor_fool_mloody

labki C++

Oct 23rd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. int silnia(int liczba);
  8. void rowkw(int a, int b, int c);
  9. void fib(int f);
  10. void odwroc(string wyraz);
  11. void podwoj(string wyraz1);
  12. int w_znak(string napis, char znak);
  13. double sortowanie(double tab[],int ilosc);
  14.  
  15. void main() {
  16.     int a = 0;
  17.     char z;
  18.     cout << "co chcesz zrobic?:"<<endl;
  19.     cout << "a - oblicz silnie" << endl << "b - oblicz pierwiastki rownania kwadratowego"<<endl<<"c - oblicz n-ty wyraz ciagu Fibonacciego"<<endl<<"d - podwajanie liter wyrazu "<<endl<<"e - ilosc wystapien znaku w napisie"<<endl<<"f - odwaracanie wyrazu"<<endl<<"g- sortowanie"<<endl;
  20.  
  21.     cin >> z;
  22.    
  23.         switch (z) {
  24.  
  25.         case 'a':
  26.         {
  27.             cout << "podaj liczbe silnii: ";
  28.             cin >> a;
  29.             cout << "wynik to: " << silnia(a);
  30.             break;
  31.  
  32.         }
  33.  
  34.         case 'b':
  35.         {
  36.             int a1, b1, c1;
  37.             cout << "podaj a: ";
  38.             cin >> a1;
  39.             cout << "podaj b: ";
  40.             cin >> b1;
  41.             cout << "podaj c: ";
  42.             cin >> c1;
  43.  
  44.             rowkw(a1, b1, c1);
  45.             break;
  46.  
  47.         }
  48.         case 'c':
  49.         {
  50.             int f;
  51.             cout << "podaj liczbê ktorej szukasz: ";
  52.             cin >> f;
  53.             fib(f);
  54.             break;
  55.  
  56.  
  57.  
  58.         }
  59.  
  60.         case 'd': {
  61.  
  62.             string wyraz1;
  63.             cout << "podaj wyraz: ";
  64.             cin >> wyraz1;
  65.             podwoj(wyraz1);
  66.             break;
  67.  
  68.  
  69.  
  70.         }
  71.  
  72.         case 'e': {
  73.  
  74.             string wyraz2;
  75.             char znak;
  76.             cout << "podaj wyraz:";
  77.             cin >> wyraz2;
  78.             cout << "podaj znak";
  79.             cin >> znak;
  80.             cout << "ilosc wystapienia znaku: " << w_znak(wyraz2, znak);
  81.             break;
  82.  
  83.  
  84.  
  85.         }
  86.  
  87.         case 'f': {
  88.  
  89.             string wyraz;
  90.             cout << "podaj wyraz do odwrocenia: " << endl;
  91.             cin >> wyraz;
  92.             odwroc(wyraz);
  93.             break;
  94.  
  95.         }
  96.  
  97.         case 'g': {
  98.  
  99.             double *tab;
  100.             int ilosc;
  101.  
  102.             cout << "podaj ilosc liczb do posortowania";
  103.             cin >> ilosc;
  104.  
  105.             tab = new double[ilosc];
  106.  
  107.             for (int i = 0; i < ilosc; i++) {
  108.  
  109.                 cin >> tab[i];
  110.  
  111.             }
  112.  
  113.  
  114.             *tab = sortowanie(tab, ilosc);
  115.  
  116.  
  117.             for (int i = 0; i < ilosc; i++) {
  118.  
  119.                 cout << endl << i + 1 << ".   " << tab[i] << endl;
  120.  
  121.             }
  122.             break;
  123.         }
  124.  
  125.        
  126.  
  127.        
  128. }
  129.  
  130.    
  131.  
  132.  
  133.     system("pause");
  134.  
  135. }
  136.  
  137. int silnia(int liczba) {
  138.     int wynik = 1;
  139.     for (int i = 1; i <= liczba; i++) {
  140.  
  141.         wynik = wynik*i;
  142.  
  143.  
  144.     }
  145.     return wynik;
  146.  
  147. }
  148.  
  149. void rowkw(int a, int b, int c) {
  150.  
  151.     double x1, x2, delta, x0;
  152.  
  153.     delta = (b*b) - (4 * a*c);
  154.  
  155.  
  156.     if (delta > 0) {
  157.  
  158.         x1 = (-b - sqrt(delta)) / (2 * a);
  159.  
  160.         x2 = (-b + sqrt(delta)) / (2 * a);
  161.  
  162.         cout << "pierwiastek 1:" << x1 << "pierwiastek 2:" << x2;
  163.  
  164.     }
  165.  
  166.     if (delta == 0) {
  167.  
  168.         x0 = (-b) / (2 * a);
  169.  
  170.         cout << "pierwiastek podwojny:" << x0;
  171.  
  172.     }
  173.  
  174.     if (delta < 0) {
  175.  
  176.         cout << "nie ma miejsc zerowych";
  177.     }
  178.  
  179. }
  180.  
  181. void fib(int f) {
  182.  
  183.     long long a = 1, b = 1;
  184.  
  185.  
  186.  
  187.  
  188.     for (int i = 3; i<=f; i++) {
  189.  
  190.         b += a;
  191.         a = b - a;
  192.  
  193.  
  194.     }
  195.     cout << "szukana liczba fibonacciego to:" <<b;
  196.  
  197. }
  198.  
  199. void odwroc(string wyraz) {
  200.  
  201.    
  202.      const int rozmiar = wyraz.size();
  203.      string nowy;
  204.      for (int i = 0; i < rozmiar; i++) {
  205.        
  206.        
  207.        
  208.          nowy = nowy + wyraz[rozmiar - i - 1];
  209.        
  210.  
  211.     }
  212.  
  213.     cout << "wyraz odwrocony:"<<nowy<<endl;
  214.  
  215. }
  216.  
  217. void podwoj(string wyraz1) {
  218.    
  219.     string podwojony;
  220.     int rozmiar = wyraz1.size();
  221.  
  222.     for (int i = 0; i < rozmiar; i++) {
  223.  
  224.         podwojony += wyraz1[i];
  225.         podwojony += wyraz1[i];
  226.  
  227.  
  228.     }
  229.  
  230.     cout << "podwojony wyraz:" << podwojony << endl;
  231.  
  232. }
  233.  
  234. int w_znak(string napis, char znak) {
  235.  
  236.  
  237.     int rozmiar = napis.size();
  238.     int ilosc = 0;
  239.  
  240.  
  241.     for (int i = 0; i < rozmiar; i++) {
  242.    
  243.         if (napis[i] == znak) {
  244.        
  245.             ilosc++;
  246.        
  247.         }
  248.    
  249.     }
  250.     return ilosc;
  251.  
  252. }
  253.  
  254.  
  255. double sortowanie(double tab[],int ilosc) {
  256.     double pomoc;
  257.  
  258.     for (int i = 0; i<ilosc; i++)
  259.         for (int j = 1; j<ilosc - i; j++)
  260.             if (tab[j - 1] < tab[j]) {
  261.                
  262.                 pomoc = tab[j - 1];
  263.                 tab[j - 1] = tab[j];
  264.                 tab[j] = pomoc;
  265.                
  266.             }
  267.    
  268.     return *tab;
  269. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement