Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- /*
- Proszę napisać procedurę która dostaje w parametrach dwie tablice i
- przepisuje z pierwszej do drugiej najdłuższy ciąg malejący
- */
- using namespace std;
- const int N = 6;
- void przepisz(int t[N], int prz[N])
- {
- int roznica = t[1] - t[0];
- int dlugosc = 0;
- int Maxdlugosc = 0;
- for(int i=0; i<N-1; i++)
- {
- int temp = t[i+1] - t[i];
- if(temp < 0 and temp == roznica)
- {
- dlugosc++;
- if(dlugosc > 0)
- {
- prz[i] = t[i];
- }
- if(dlugosc > Maxdlugosc)
- {
- Maxdlugosc = dlugosc;
- }
- if(t[N-1] < t[N-2])
- {
- Maxdlugosc = Maxdlugosc + 1; // specjalnie tak dodane zeby widac ze dodalem 1
- prz[Maxdlugosc - 1] = t[N-1];
- }
- }
- else
- {
- roznica = temp;
- dlugosc = 0;
- }
- }
- cout<<"Dlugosc najdluzszego ciagu malejacego to: "<<Maxdlugosc<<endl;
- cout<<"Najdluzszy ciag malejacy: "<<endl;
- for(int i=0; i<Maxdlugosc; i++)
- {
- cout<<prz[i]<<" ";
- }
- }
- int main()
- {
- int tablicawlasciwa[N];
- tablicawlasciwa[0] = 5;
- tablicawlasciwa[1] = 4;
- tablicawlasciwa[2] = 3;
- tablicawlasciwa[3] = 2;
- tablicawlasciwa[4] = 5;
- tablicawlasciwa[5] = 6;
- int doprzepisania[N] = {0,0,0,0,0,0};
- przepisz(tablicawlasciwa,doprzepisania);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement