Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- int** localMax(int *mas, int size, int &numOfLocalMax)
- {
- for(int i=1;i<size-1;i++)
- {
- if (mas[i]>mas[i+1] && mas[i]>mas[i-1])
- numOfLocalMax++;
- }
- if (mas[0]>mas[1]) numOfLocalMax++;
- if (mas[size-1]>mas[size-2]) numOfLocalMax++;
- static int ** p=new int*[numOfLocalMax];
- int ** current=p;
- if (mas[0]>mas[1]) {*current=&mas[0];current++;}
- for(int i=1;i<size-1;i++)
- {
- if ((mas[i]>mas[i+1]) && (mas[i]>mas[i-1]))
- {*current=&mas[i];current++;}
- }
- if (mas[size-1]>mas[size-2]) {*current=&mas[size-1];}
- return p;
- }
- int main()
- {
- int n;
- cin>>n;
- int *arr=new int[n];
- for (int i=0;i<n;i++)
- {
- cin>>arr[i];
- }
- int LocalMaxSize=0;
- int** LocalMaxArr=localMax(arr, n, LocalMaxSize);
- for (int i=0;i<LocalMaxSize;i++)
- {
- cout<<*LocalMaxArr[i]<<endl;
- }
- cout<<LocalMaxSize;
- delete[] LocalMaxArr;
- delete[] arr;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement