Поиск непрерывной последовательности непрерывных чисел - C (СИ)
Формулировка задачи:
Объявить массив целых чисел и заполнить его случайными значениями. Размер массива и диапазон значений его элементов заданы в Вашем варианте индивидуального задания. В индивидуальных заданиях (см. приложение) указано также, какую обработку массива следует произвести.
Для всех вариантов задания следует иметь в виду следующее:
• 0 считается положительным числом, если в задании не оговорен какой-то другой его статус;
• когда речь идет о какой-то последовательности чисел, имеется в виду последовательность с длиной, большей 1;
• в тех случаях, когда задание требует выполнения каких-то вычислений, разрешается выполнять их с той точностью, которую обеспечивают операции целочисленной арифметики.
Решение задачи: «Поиск непрерывной последовательности непрерывных чисел»
textual
Листинг программы
- #include <stdio.h>
- #include <time.h>
- #include <Windows.h>
- #define ARRAY_SIZE 100
- #define LOWER_BORDER -100
- #define HIGHER_BORDER 100
- int main()
- {
- srand(time(NULL));
- int *a, i, sum = 0, max_sum = 0;
- BOOL start_flag = FALSE;
- a = malloc(ARRAY_SIZE * sizeof(int));
- for (i = 0; i < ARRAY_SIZE; i++) {
- a[i] = (rand() % (HIGHER_BORDER - LOWER_BORDER + 1)) + LOWER_BORDER;
- //printf("%d\n", a[i]);
- }
- for (i = 0; i < ARRAY_SIZE; i++) {
- if (a[i] >= 0)
- start_flag = TRUE;
- else {
- start_flag = FALSE;
- sum = 0;
- }
- if (start_flag) {
- sum += a[i];
- start_flag = FALSE;
- }
- if (max_sum < sum)
- max_sum = sum;
- }
- printf("Longest sum of positive elements is: %d\n", max_sum);
- system("pause");
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Объявляются макросы для определения размера массива и границ значений, которые могут принимать случайные числа.
- Задаются начальные значения переменных: селектор случайной последовательности чисел, сумма, максимальная сумма и флаг начала последовательности.
- В цикле заполняется массив случайными числами.
- В цикле подсчитывается сумма положительных чисел, начиная с каждого числа массива, и проверяется, является ли эта сумма максимальной.
- Выводится сообщение с максимальной суммой положительных чисел.
- Требуется нажатие клавиши для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д