Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream> // Для setlocale
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h> // Генерация чисел
- #include <malloc.h>
- #include <cstdlib>
- #define random_r() ( rand() % ( max - min + 1 ) + min )
- int main(void) {
- //randomize();
- //size=random(151)+50;
- setlocale(0, ""); //Русский язык
- int N = 100;
- int min = -100;
- int max = 100;
- /*
- srand(time(NULL));
- int z = rand() % ( max - min + 1 ) + min;
- */
- int array[N];
- int i, max_head, max_length, max_sum, now_head, now_length, now_sum;
- srand(time(NULL));
- for ( i = 0; i < N; ++i )
- array[i] = random_r();
- printf("Все элементы массива:\n");
- for ( i = 0; i < N; ++i )
- printf("%d ", array[i]);
- max_head = now_head = -1;
- max_sum = now_sum = 0;
- max_length = now_length = 0;
- for ( i = 0; i <= N; ++i ) {
- if ( i == N || array[i] <= 0 ) {
- if ( now_head >= 0 ) {
- if ( now_sum > max_sum ) {
- max_head = now_head;
- max_length = now_length;
- max_sum = now_sum;
- }
- now_head = -1;
- now_length = 0;
- now_sum = 0;
- }
- }
- else {
- if ( now_head < 0 )
- now_head = i;
- now_length += 1;
- now_sum += array[i];
- }
- }
- printf("\nНепрерывную последовательность положительных чисел, сумма элементов в которой максимальная:\n");
- for ( i = max_head; i < max_head + max_length; ++i )
- printf("%d ", array[i]);
- printf("\Сумма: %d\n", max_sum);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement