How to count the number of strictly increasing subarrays in an array with C++

2 Answers

0 votes
#include <iostream>
 
int countStrictlyIncreasingSubarrays(int arr[], int size) {
    int count = 0;
  
    for (int i = 0; i < size; i++) {
        for (int j = i + 1; j < size; j++) {
            if (arr[j] > arr[j - 1]) {
                count++;
                for (int k = i; k < j + 1; k++) { // for print only 
                    std::cout << arr[k] << " ";   // for print only 
                }                                 // for print only 
                std::cout << "\n";                // for print only 
                 
            }
            else {
                break;
            }
        }
    }
    return count;
}
  
int main()
{
   int arr[] = { 1, 2, 3, 4 };
   // {1, 2}, {1, 2, 3}, {1, 2, 3, 4}, {2, 3}, {2, 3, 4}, {3, 4}
   
  int size = sizeof(arr)/sizeof(arr[0]);
   
  std::cout << countStrictlyIncreasingSubarrays(arr, size) <<  " = Count of strictly increasing subarrays";
 
}
 
 
 
 
/*
run:
 
1 2 
1 2 3 
1 2 3 4 
2 3 
2 3 4 
3 4 
6 = Count of strictly increasing subarrays
 
*/

 



answered Aug 21, 2022 by avibootz
edited Aug 21, 2022 by avibootz
0 votes
#include <iostream>

int countStrictlyIncreasingSubarrays(int arr[], int size) {
    int count = 0;
 
    for (int i = 0; i < size; i++) {
        for (int j = i + 1; j < size; j++) {
            if (arr[j - 1] >= arr[j]) {
                break;
            }
            count++;
            for (int k = i; k < j + 1; k++) { // for print only 
                 std::cout << arr[k] << " ";  // for print only 
            }                                 // for print only 
            std::cout << "\n";                // for print only 
        }
    }
    return count;
}
 
int main()
{
   int arr[] = { 1, 3, 4, 0, 7, 5, 9 };
   // {1, 3}, {1, 3, 4}, {3, 4}, {0, 7}, {5, 9}
  
  int size = sizeof(arr)/sizeof(arr[0]);
  
  std::cout << countStrictlyIncreasingSubarrays(arr, size) <<  " = Count of strictly increasing subarrays";

}




/*
run:

1 3 
1 3 4 
3 4 
0 7 
5 9 
5 = Count of strictly increasing subarrays

*/

 



answered Aug 21, 2022 by avibootz
...