Advertisement
bartek27210

lab cpp 25.10.2017

Oct 25th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.51 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include<math.h>
  4.  
  5. using namespace std;
  6. int silnia(int n);
  7. void pierwiastki(double a, double b, double c);
  8. int fibo(int n);
  9. void tekstx2(string tekst);
  10. int iloscznakow(string tekst, char znak);
  11. void odwroc(string tekst);
  12. void sortowanie(double tab[], int rozmiar);
  13.  
  14. int main()
  15. {
  16.     int n;
  17.     int x;
  18.     int zadanie;
  19.     double a, b, c;
  20.     string tekst;
  21.     char znak;
  22.     double tab[100];
  23.     cout << " 1.Silnia\n 2.Rowananie kwadratowe\n 3.Liczba Fibonauciego\n 4.Podwojenie liter\n 5.Ilosc znakow\n 6.Odwrocenie ciagu liter\n 7.Sorotwanie tablic rosnaco\n 0.Wyjscie\nWybierz dzialanie:" << endl;
  24.     cin >> zadanie;
  25.  
  26.     while (zadanie != 0)
  27.     {
  28.         switch (zadanie)
  29.         {
  30.         case 1:
  31.             cout << "Podaj liczbe do obliczenia silnii " << endl;
  32.             cin >> n;
  33.             x = silnia(n);
  34.             cout << "Silnia z "<<n<<" wynosi " << x << endl;
  35.             break;
  36.  
  37.         case 2:
  38.             cout << "Rownanie kwadratowe ax^2+bx+c" << endl;
  39.             cout<<"Podaj a\n";
  40.             cin >> a;
  41.             cout << "Podaj b\n";
  42.             cin >> b;
  43.             cout << "Podaj c\n";
  44.             cin >> c;
  45.             pierwiastki(a, b, c);
  46.             break;
  47.  
  48.         case 3:
  49.             cout << "podaj liczbe do obiczenia Fibo " << endl;
  50.             cin >> n;
  51.             x = fibo(n);
  52.             cout << "Liczba Fibonacciego o numerze " << n << " wynosi " << x << endl;
  53.             break;
  54.  
  55.         case 4:
  56.             cout << "Podaj tekst do podwojenia liter" << endl;
  57.             cin >> tekst;
  58.             tekstx2(tekst);
  59.             break;
  60.  
  61.         case 5:
  62.             cout << "Podaj tekst: " << endl;
  63.             cin >> tekst;
  64.             cout << "Podaj znak: " << endl;
  65.             cin >> znak;
  66.             x = iloscznakow(tekst, znak);
  67.             cout << "ilosc znakow " << znak << " w podanym tekscie wynosi: " << x << endl;
  68.             break;
  69.  
  70.         case 6:
  71.             cout << "Podaj tekst do odwrocenia" << endl;
  72.             cin >> tekst;
  73.             odwroc(tekst);
  74.             break;
  75.  
  76.         case 7:
  77.             cout << "Podaj rozmiar tablicy" << endl;
  78.             cin >> n;
  79.             cout << "Podaj tablice do posortowania" << endl;
  80.             int i = 0;
  81.             for (i = 0; i < n; i++)
  82.             {
  83.                 cin >> tab[i];
  84.             }
  85.             sortowanie(tab,n);
  86.            
  87.             break;
  88.         }
  89.         cout << "\nWybierz dzialanie: " << endl;
  90.         cin >> zadanie;
  91.     }
  92.  
  93.  
  94.     return 0;
  95. }
  96.  
  97. int silnia(int n)
  98. {
  99.     int i, wynik = 1;
  100.     for (i = 2; i <= n; i++)
  101.     {
  102.         wynik = wynik*i;
  103.     }
  104.     return wynik;
  105.  
  106.  
  107. }
  108.  
  109. void pierwiastki(double a, double b, double c)
  110. {
  111.     double delta, r1, r2;
  112.     delta = (b*b) - 4 * a*c;
  113.     if (delta > 0)
  114.     {
  115.         r1 = (-b + sqrt(delta)) / (2 * a);
  116.         r2 = (-b - sqrt(delta)) / (2 * a);
  117.         cout << "Pierwiastki rownania kwadratowego wynosza: " << r1 << ", " << r2 << endl;
  118.     }
  119.     if (delta == 0)
  120.     {
  121.         r1 = -b / (2 * a);
  122.         cout << "Pieriwastek rownania kwadratowego wynosi: " << r1 << endl;
  123.     }
  124.     else cout << "Rownanie nie ma rozwiazan" << endl;
  125. }
  126.  
  127. int fibo(int n)
  128. {
  129.     if (n == 0) return 0;
  130.     if (n == 1) return 1;
  131.     return fibo(n - 2) + fibo(n - 1);
  132. }
  133. void tekstx2(string tekst)
  134. {
  135.     int i = 0;
  136.     while (tekst[i] != '\0')
  137.     {
  138.         cout << tekst[i] << tekst[i];
  139.         i++;
  140.     }
  141. }
  142.  
  143. int iloscznakow(string tekst, char znak)
  144. {
  145.     int ile = 0, i = 0;
  146.     while (tekst[i] != '\0')
  147.     {
  148.         if (tekst[i] == znak)
  149.             ile++;
  150.         i++;
  151.     }
  152.     return ile;
  153. }
  154.  
  155. void odwroc(string tekst)
  156. {
  157.     int j = 0;
  158.    
  159.     j = tekst.length()-1;
  160.     for (j; j >= 0; j--)
  161.     {
  162.         cout << tekst[j];
  163.     }
  164. }
  165.  
  166. void sortowanie(double tab[], int rozmiar)
  167. {
  168.     int i = 0, j = 0;
  169.     double temp;
  170.     int n = rozmiar;
  171.  
  172.     for (i = 0; i < n; i++)
  173.     {
  174.         for (j = 0; j < n-1; j++)
  175.         {
  176.             if (tab[j] > tab[j + 1])
  177.             {
  178.                 temp = tab[j];
  179.                 tab[j] = tab[j+1];
  180.                 tab[j+1] = temp;
  181.             };
  182.         }
  183.     }
  184.     cout << "Posortowana tablica: " << endl;
  185.    
  186.     for (i = 0; i < n; i++)
  187.     {
  188.         cout << "\n" << tab[i] << " ";
  189.     }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement