Главная /
Программирование /
Постановка задачи: в файле записана последовательность чисел неизвестной длины (возможно пустая). Между числами стоит разделитель - пробел. Требуется за один просмотр файла и без запомнинания последовательности чисел в массиве определить требуюмую характе
Постановка задачи: в файле записана последовательность чисел неизвестной длины (возможно пустая). Между числами стоит разделитель - пробел. Требуется за один просмотр файла и без запомнинания последовательности чисел в массиве определить требуюмую характеристику последовательности.
Программа должна содержать функцию, которая получает в качестве параметра имя файла и возвращает требуемое значение в файл (output.txt). Функция main
открывает необходимые файлы, проверяет успешность открытия, обращается к функции для вычисления результата и выводит результат в соответствующий файл.
Задание: найти количество элементов в постоянном участке последовательности целых чисел с наибольшей суммой элементов этого участка.
вопросПравильный ответ:
Свой ответ
Сложность вопроса
57
Сложность курса: Программирование
84
Оценить вопрос
Комментарии:
Аноним
Это очень простецкий вопрос по интуиту.
17 фев 2018
Аноним
Это было сложно
19 авг 2016
Аноним
Экзамен сдан и ладушки. Спасибо vtone
23 май 2016
Другие ответы на вопросы из темы программирование интуит.
- # Что можно сказать об условии, указанном в заголовке цикла "while", после завершения цикла?
- # Алгоритм сортировки называется стабильным, если он сохраняет относительный порядок равных элементов. Среди перечисленных ниже алгоритмов сортировки (имеются в виду их классические варианты) отметьте все стабильные.
- # Укажите, чему будет равно значение переменной k в результате выполнения следующего фрагмента программы: int n = (-5), k, *p; p = &n; --*p; k = 4-*p*5+n;
- # Программа, использующая бинарный поиск, ищет элемент в массиве длины миллион в среднем за одну тысячную секунды. Сколько примерно времени потребуется на поиск, если мы заменим алгоритм поиска с бинарного на последовательный?
- # Алгоритм быстрой сортировки использует вспомогательную функцию partition, которая разделяет массив на 3 части: в начале элементы, меньшие либо равные медиане, затем медиана, в конце элементы, большие либо равные медиане. Рассмотрим следующую реализацию функции partition: void partition(double* a, int n, int *m) { if (*m != 0) // Ставим медиану в начало swap(&(a[0]), &(a[*m])); double x = a[0]; // Значение медианы int i = 0; int j = n; while (j-i > 1) { // Инв: a[1], a[2], ..., a[i] <= x // a[j], a[j+1], ..., a[n-1] > x if (a[i+1] <= x) { ++i; } else if (a[j-1] > x) --j; } else { ++i; --j; swap(&(a[i]), &(a[j])); } } if (i > 0) swap(&(a[0]), &(a[i])); *m = i; } Правильна ли подобная реализация, или она может привести к катастрофическому замедлению алгоритма быстрой сортировки в некоторых случаях?