Advertisement
Guest User

Untitled

a guest
May 19th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define N 9
  4.  
  5. int max(int x, int y) { return (x > y) ? x : y; }
  6.  
  7. void printArray(int *arr, int n)
  8. {
  9. int i;
  10. for (i = 0;i < n;i++)
  11. {
  12. printf("%d ",arr[i]);
  13. }
  14. printf("\n");
  15. }
  16.  
  17. void main()
  18. {
  19. int i, ePos, sPos;
  20. int S[N] = { -1, 7, -3, 2, 5, -2 ,1,-11,5 };
  21. int M[N] = { 0 };
  22.  
  23. M[0] = S[0];
  24. for (i = 1;i < N;i++)
  25. M[i] = max(S[i], S[i] + M[i - 1]);
  26.  
  27. ePos = 0;
  28. for (i = 1;i < N;i++)
  29. if (M[i] > M[ePos])
  30. ePos = i;
  31.  
  32. for (i = ePos; i >= 0;i--)
  33. {
  34. if (M[i] == S[i])
  35. {
  36. sPos = i;
  37. break;
  38. }
  39. }
  40.  
  41. printf("Series starts from %d to %d\n",sPos,ePos);
  42.  
  43. printArray(M,N);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement