Advertisement
Jakubowiczish

Untitled

Nov 9th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <iostream>
  2. /*
  3. Proszê napisaæ procedurê która dostaje w parametrach dwie tablice i
  4. przepisuje z pierwszej do drugiej najd³u¿szy ci¹g malej¹cy
  5. */
  6. using namespace std;
  7. const int N = 6;
  8.  
  9. void przepisz(int tab[N])
  10. {
  11. int length = 1;
  12. int max_length = -1;
  13.  
  14. int sequence_start = 0;
  15. int max_sequence_start = 0;
  16.  
  17. for(int i=0; i < N-1; i++)
  18. {
  19. if(tab[i+1] < tab[i])
  20. {
  21. length++;
  22. }
  23.  
  24. else
  25. {
  26. if(length > max_length)
  27. {
  28. max_length = length;
  29. max_sequence_start = sequence_start;
  30. }
  31.  
  32. sequence_start = i + 1;
  33. length = 1;
  34. }
  35. }
  36.  
  37. if(length > max_length)
  38. {
  39. max_length = length;
  40. max_sequence_start = sequence_start;
  41. }
  42.  
  43. cout<<"Maksymalna dlugosc ciagu malejacego to: "<<max_length<<endl;
  44. cout<<"Ostateczny index poczatkowego elementu tego ciagu to: "<<max_sequence_start<<endl;
  45.  
  46. cout<<"Najdluzszy ciag malejacy: "<<endl;
  47.  
  48. int przepisana[max_length];
  49. for(int j=max_sequence_start, i=0; j < max_sequence_start + max_length, i < max_length; j++,i++)
  50. {
  51. przepisana[i] = tab[j];
  52. cout<<przepisana[i]<<" ";
  53. }
  54. }
  55.  
  56. int main()
  57. {
  58. int tablicawlasciwa[N];
  59.  
  60. tablicawlasciwa[0] = 6;
  61. tablicawlasciwa[1] = 5;
  62. tablicawlasciwa[2] = 4;
  63. tablicawlasciwa[3] = 3;
  64. tablicawlasciwa[4] = 2;
  65. tablicawlasciwa[5] = 1;
  66.  
  67. przepisz(tablicawlasciwa);
  68.  
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement