MeehoweCK

Untitled

Nov 27th, 2018
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. /*
  8. A9. Napisać funkcję
  9. int drugi(int* t, int rozmiar)
  10. która zwraca drugi największy element w tablicy
  11. t
  12. o rozmiarze
  13. rozmiar
  14. . W
  15. przypadku, gdy są dwa równe największe elementy należy zwrócić jeden z nich.
  16. Można założyć, że
  17. rozmiar
  18. >1.
  19. */
  20.  
  21. void wypelnij_liczbami(int* tablica, int rozmiar)
  22. {
  23.     srand(static_cast<unsigned>(time(nullptr)));
  24.     for(int i = 0; i < rozmiar; ++i)
  25.     {
  26.         tablica[i] = rand() % 101;
  27.     }
  28. }
  29.  
  30. void wypisz_tablice(int* tablica, int rozmiar)
  31. {
  32.     for(int i = 0; i < rozmiar; ++i)
  33.         cout << tablica[i] << " ";
  34.     cout << endl;
  35. }
  36.  
  37. int drugi(int* t, int rozmiar)
  38. {
  39.     int liczba_max = t[0];
  40.     int liczba_2 = t[1];
  41.     if(liczba_2 > liczba_max)
  42.         swap(t[0], t[1]);
  43.     for(int i = 2; i < rozmiar; ++i)
  44.     {
  45.         if(t[i]>=liczba_max)
  46.         {
  47.             liczba_2 = liczba_max;
  48.             liczba_max = t[i];
  49.         }
  50.         else if(t[i] > liczba_2)
  51.             liczba_2 = t[i];
  52.     }
  53.     return liczba_2;
  54. }
  55.  
  56. int main()
  57. {
  58.     int tablica[20];
  59.     wypelnij_liczbami(tablica, 20);
  60.     wypisz_tablice(tablica, 20);
  61.     cout << drugi(tablica, 20);
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment