Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define N 9
- int max(int x, int y) { return (x > y) ? x : y; }
- void printArray(int *arr, int n)
- {
- int i;
- for (i = 0;i < n;i++)
- {
- printf("%d ",arr[i]);
- }
- printf("\n");
- }
- void main()
- {
- int i, ePos, sPos;
- int S[N] = { -1, 7, -3, 2, 5, -2 ,1,-11,5 };
- int M[N] = { 0 };
- M[0] = S[0];
- for (i = 1;i < N;i++)
- M[i] = max(S[i], S[i] + M[i - 1]);
- ePos = 0;
- for (i = 1;i < N;i++)
- if (M[i] > M[ePos])
- ePos = i;
- for (i = ePos; i >= 0;i--)
- {
- if (M[i] == S[i])
- {
- sPos = i;
- break;
- }
- }
- printf("Series starts from %d to %d\n",sPos,ePos);
- printArray(M,N);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement