#include <stdio.h>
void PrintSubarrayWithSumEqualToN(int arr[], int size, int N) {
for (int i = 0; i < size; i++) {
int current_sum = arr[i];
if (current_sum == N) {
printf("Sum found at index: %d", i);
return;
}
else {
for (int j = i + 1; j < size; j++) {
current_sum += arr[j];
if (current_sum == N) {
printf("Sum found between index %d and %d\n", i, j);
for (int k = i; k <= j; k++)
printf("%d ", arr[k]);
return;
}
else if (current_sum > N) break;
}
}
}
printf("No subarray found");
}
int main() {
int arr[] = { 2, 5, 8, 9, 1, 7, 12, 21, 19 };
int size = sizeof(arr) / sizeof(arr[0]);
int N = 52;
PrintSubarrayWithSumEqualToN(arr, size, N);
}
/*
run:
Sum found between index 6 and 8
12 21 19
*/