Advertisement
elektryk798

LAB02_C++

Oct 25th, 2017
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int silnia(int liczba);
  7. void pierwiastki(double a, double b, double c);
  8. void pisz(string napis);
  9. int wystapienia(string napis,char znak);
  10. void odwroc(string napis);
  11. void sortuj(double tab[],int dlugosc);
  12. int fibo(int liczba);
  13. void pierwiastki(double a, double b, double c);
  14.  
  15. int main()
  16. {
  17.     int zadanie;
  18.     string napis;
  19.     cin >> zadanie;
  20.     while (zadanie != 0)
  21.     {
  22.         switch (zadanie)
  23.         {
  24.             case 1:
  25.                 int silnia_l;
  26.                 cin >> silnia_l;
  27.                 silnia_l = silnia(silnia_l);
  28.                 cout << "SILNIA: " << silnia_l << endl;
  29.             break;
  30.             case 3:
  31.                 int liczba;
  32.                 cin >> liczba;
  33.                 cout<<"FIBO: "<<fibo(liczba)<<endl;
  34.             break;
  35.             case 4:
  36.                 cin >> napis;
  37.                 pisz(napis);
  38.             break;
  39.             case 5:
  40.                 cin >> napis;
  41.                 char znak;
  42.                 cin >> znak;
  43.                 cout<<"ILOSC WYSTAPIEN: "<<wystapienia(napis, znak)<<endl;
  44.             break;
  45.             case 6:
  46.                 cin >> napis;
  47.                 cout << "STRING OD TYLU: "; odwroc(napis); cout << endl;
  48.             break;
  49.             case 7:
  50.                 int dlugosc;
  51.                 cin >> dlugosc;
  52.                 double tab[100];
  53.                 for (int i = 0; i < dlugosc; i++)
  54.                     cin >> tab[i];
  55.                 sortuj(tab, dlugosc);
  56.                 for (int i = 0; i < dlugosc; i++)
  57.                     cout << tab[i] << " ";
  58.                 cout << endl;
  59.         }
  60.         cin >> zadanie;
  61.     }
  62.     cin >> zadanie;
  63.     return 0;
  64. }
  65.  
  66. int silnia(int liczba)
  67. {
  68.     int wynik = 1;
  69.     for (int i = 1; i <= liczba; i++)
  70.         wynik *= i;
  71.     return wynik;
  72. }
  73. void pierwiastki(double a, double b, double c)
  74. {
  75.     /*
  76.     if (a == 0 && b == 0)
  77.     {
  78.         if (c == 0)
  79.             cout << "NIESKONCZENIE WIELE ROZWIAZAN" << endl;
  80.         else
  81.             cout << "BRAK ROZWIAZAN" << endl;
  82.     }
  83.     else if (a == 0)
  84.     {
  85.         cout << "ROZWIAZENIE: " << ((-1 * b) / 2 * a) << endl;
  86.     }
  87.     else if (a)
  88.     */
  89. }
  90. void pisz(string napis)
  91. {
  92.     for (int i = 0; i < napis.length(); i++)
  93.         cout << napis[i] << napis[i];
  94. }
  95. int wystapienia(string napis,char znak)
  96. {
  97.     int wynik=0;
  98.     for (int i = 0; i < napis.length(); i++)
  99.         if (napis[i] == znak)
  100.             wynik++;
  101.     return wynik;
  102.  
  103.  
  104. }
  105. void odwroc(string napis)
  106. {
  107.     for (int i = napis.length(); i >= 0; i--)
  108.         cout << napis[i];
  109. }
  110. void sortuj(double tab[], int size)
  111. {
  112.     for (int i = 0; i < size; i++)
  113.     {
  114.         for (int j = 0; j < size - 1; j++)
  115.         {
  116.             if (tab[j] > tab[j + 1])
  117.                 swap(tab[j], tab[j + 1]);
  118.         }
  119.     }
  120. }
  121. int fibo(int liczba)
  122. {
  123.     if (liczba == 0)
  124.         return 0;
  125.     if (liczba == 1)
  126.         return 1;
  127.     else
  128.         return fibo(liczba-2) + fibo(liczba - 1);
  129. }
  130. void dziel_zwyciezaj(tab[],int liczba)
  131. {
  132.     int dlugosc;
  133.     if (liczba % 2 == 0)
  134.         dlugosc = liczba / 2;
  135.     else
  136.         dlugosc = liczba / 2 + 1;
  137.     int *minimum = new int[dlugosc];
  138.     int *maksimum = new int[dlugosc];
  139.     if (liczba % 2 == 0)
  140.     {
  141.         for (int i = 0; i < liczba - 1; i++)
  142.         {
  143.             if (tab[i] < tab[i + 1])
  144.             {
  145.                 minimum[i / 2] = tab[i];
  146.                 maksimum[i / 2] = tab[i + 1];
  147.             }
  148.         }
  149.     }
  150.     else
  151.     {
  152.         for (int i = 0; i < liczba - 2; i++)
  153.         {
  154.             if (tab[i] < tab[i + 1])
  155.             {
  156.                 minimum[i / 2] = tab[i];
  157.                 maksimum[i / 2] = tab[i + 1];
  158.             }
  159.         }
  160.         minimum[dlugosc] = tab[liczba];
  161.         maksimum[dlugosc] = tab[liczba];
  162.     }
  163.     delete[] minimum;
  164.     delete[] maksimum;
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement