Advertisement
Jakubowiczish

Untitled

Nov 9th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 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 t[N], int prz[N])
  10. {
  11. int roznica = t[1] - t[0];
  12.  
  13. int dlugosc = 0;
  14. int Maxdlugosc = 0;
  15.  
  16. for(int i=0; i<N-1; i++)
  17. {
  18. int temp = t[i+1] - t[i];
  19.  
  20. if(temp < 0 and temp == roznica)
  21. {
  22. dlugosc++;
  23.  
  24. if(dlugosc > 0)
  25. {
  26. prz[i] = t[i];
  27. }
  28. if(dlugosc > Maxdlugosc)
  29. {
  30. Maxdlugosc = dlugosc;
  31. }
  32. if(t[N-1] < t[N-2])
  33. {
  34. Maxdlugosc = Maxdlugosc + 1; // specjalnie tak dodane zeby widac ze dodalem 1
  35. prz[Maxdlugosc - 1] = t[N-1];
  36. }
  37. }
  38.  
  39. else
  40. {
  41. roznica = temp;
  42. dlugosc = 0;
  43. }
  44. }
  45.  
  46. cout<<"Dlugosc najdluzszego ciagu malejacego to: "<<Maxdlugosc<<endl;
  47. cout<<"Najdluzszy ciag malejacy: "<<endl;
  48.  
  49. for(int i=0; i<Maxdlugosc; i++)
  50. {
  51. cout<<prz[i]<<" ";
  52. }
  53. }
  54. int main()
  55. {
  56. int tablicawlasciwa[N];
  57. tablicawlasciwa[0] = 5;
  58. tablicawlasciwa[1] = 4;
  59. tablicawlasciwa[2] = 3;
  60. tablicawlasciwa[3] = 2;
  61. tablicawlasciwa[4] = 5;
  62. tablicawlasciwa[5] = 6;
  63.  
  64. int doprzepisania[N] = {0,0,0,0,0,0};
  65.  
  66. przepisz(tablicawlasciwa,doprzepisania);
  67.  
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement