Advertisement
SergeyPGUTI

7.1.13

Nov 27th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4.  
  5.  
  6. using namespace std;
  7. int** localMax(int *mas, int size, int &numOfLocalMax)
  8. {
  9.     for(int i=1;i<size-1;i++)
  10.     {
  11.         if (mas[i]>mas[i+1] && mas[i]>mas[i-1])
  12.             numOfLocalMax++;
  13.     }
  14.     if (mas[0]>mas[1]) numOfLocalMax++;
  15.     if (mas[size-1]>mas[size-2]) numOfLocalMax++;
  16.  
  17.     static int ** p=new int*[numOfLocalMax];
  18.  
  19.     int ** current=p;
  20.     if (mas[0]>mas[1]) {*current=&mas[0];current++;}
  21.     for(int i=1;i<size-1;i++)
  22.     {
  23.         if ((mas[i]>mas[i+1]) && (mas[i]>mas[i-1]))
  24.             {*current=&mas[i];current++;}
  25.     }
  26.     if (mas[size-1]>mas[size-2]) {*current=&mas[size-1];}
  27.     return p;
  28. }
  29.  
  30.  
  31. int main()
  32. {
  33.     int n;
  34.     cin>>n;
  35.     int *arr=new int[n];
  36.     for (int i=0;i<n;i++)
  37.     {
  38.         cin>>arr[i];
  39.     }
  40.     int LocalMaxSize=0;
  41.     int** LocalMaxArr=localMax(arr, n, LocalMaxSize);
  42.  
  43.     for (int i=0;i<LocalMaxSize;i++)
  44.     {
  45.         cout<<*LocalMaxArr[i]<<endl;
  46.     }
  47.     cout<<LocalMaxSize;
  48.     delete[] LocalMaxArr;
  49.     delete[] arr;
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement