Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <malloc.h>
- #include <cstdlib>
- #define random_r() ( rand() % ( max - min + 1 ) + min )
- int main(void)
- {
- setlocale(0, "");
- int N = 20;
- int min = -100;
- int max = 100;
- int array[N];
- int i, max_head, max_length, max_sum, current_head, current_length, current_sum;
- srand(time(NULL));
- for ( i = 0; i < N; ++i )
- printf("array[%d] = ", i);
- scanf("%d", &array[i]);
- printf("Âñå ýëåìåíòû ìàññèâà:\n");
- for ( i = 0; i < N; ++i ) {
- printf("%d ", array[i]);
- scanf("%d", &array[i]);
- }
- max_head = current_head = -1;
- max_sum = current_sum = 0;
- max_length = current_length = 0;
- for ( i = 0; i <= N; ++i ) {
- if ( i == N || array[i] <= 0 ) {
- if ( current_head >= 0 ) {
- if ( current_sum > max_sum )
- {
- max_head = current_head;
- max_length = current_length;
- max_sum = current_sum;
- }
- current_head = -1;
- current_length = 0;
- current_sum = 0;
- }
- }
- else {
- if ( current_head < 0 )
- current_head = i;
- current_length += 1;
- current_sum += array[i];
- }
- }
- printf("\nÏåðâàÿ ïîëîæèòåëüíàÿ ïîñëåäîâàòåëüíîñòü ñ max_sum:\n");
- for ( i = max_head; i < max_head + max_length; ++i )
- printf("%d ", array[i]);
- printf("\nSum: %d\n", max_sum);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement