Задачи по теме "Последовательности"
Во всех задачах исходные данные читаются
из файла "input.txt" в текущей директории.
Ответ должен быть напечатан в выходной поток
(на консоль). Программу требуется оформить так,
чтобы функция main только открывала файл и затем
вызывала функцию, решающую нужную задачу. Этой
функции передается указатель на открытый файл,
из которого она должна считывать последовательность
чисел и при необходимости дополнительные параметры
задачи. При этом заранее неизвестна длина
последовательности. Последовательность допускается
просматривать только один раз.
Получив ответ от вызванной функции, функция main
должна закрыть файл и напечатать полученный
ответ, после чего
вернуть значение 0 операционной системе (ноль означает
успешное завершение программы). Если файл "input.txt"
невозможно открыть на чтение, то функция main
должна вернуть значение -1.
Список задач
-
Подсчитать среднее арифметическое
элементов последовательности вещественных чисел.
-
Подсчитать среднее геометрическое
элементов последовательности
положительных вещественных чисел.
-
Подсчитать среднее гармоническое
элементов последовательности
положительных вещественных чисел.
-
В последовательности вещественных чисел
подсчитать количество чисел, больших предыдущего.
-
Определить, есть ли в последовательности целых чисел
число x. Число x записано в начале
файла "input.txt", затем идут элементы
последовательности.
Программа должна напечатать
ответ "yes", если есть, и "no", если нет.
-
Определить номер последнего числа, равного x,
в последовательноси целых чисел.
Число x записано в начале
файла "input.txt", затем идут элементы
последовательности.
-
Определить, все ли элементы последовательности
целых чисел равны между собой.
Программа должна напечатать
ответ "yes", если да, и "no", если нет.
-
Определить, является ли последовательность
нестрого возрастающей, нестрого убывающей
или не той и не другой. Последовательность
нестрого возрастает (не убывает), если каждый ее
следующий элемент не меньше предыдущего,
аналогично определяется нестрогое убывание
(невозрастание). Программа должна напечатать
число 1, если последовательность
нестрого возрастающая, -1, если нестрого убывающая,
и 0, если она не обладает ни одним из этих свойств.
(Для постоянной последовательности любой из ответов
1 и -1 считается верным.)
-
Определить, удовлетворяют ли элементы
последовательности {xi}
целых чисел данному
рекуррентному соотношению
a xi
+ b xi+1
+ c xi+2
= d.
Целые числа a, b, c, d
записаны в начале файла "input.txt",
затем идут элементы последовательности.
Программа должна напечатать
ответ "yes", если да, и "no", если нет.
-
Определить количество различных элементов
целой неубывающей последовательности.
-
Определить общее количество элементов
в постоянных участках целочисленной
последовательности.
(Считаем, что постоянный
участок последовательности состоит не менее чем
из двух элементов.)
-
Определить порядковый номер первого числа,
равного максимуму по всей
целочисленной последовательности.
-
Определить номер последнего числа,
равного минимуму по всей целочисленной
последовательности.
-
В последовательности целых чисел
определить количество элементов,
равных минимальному числу
по всей последовательности.
-
Для последовательности вещественных чисел
найти среднее квадратическое отклонение
от среднего арифметического (дисперсию
случайной величины)
D = (∑i
(xi - M)2)
/ (n - 1),
где M — среднее арифметическое.
-
Найти величину максимального отклонения элементов
последовательности вещественных чисел от
их среднего арифметического.
-
Найти количество строго возрастающих участков
последовательности целых чисел.
(Считаем, что строго возрастающий
участок последовательности состоит не менее чем
из двух элементов.)
-
Найти сумму четных элементов во всех
строго возрастающих участках
целочисленной последовательности.
(Четность определяется по значению элемента,
а не по его номеру.
Считаем, что строго возрастающий
участок последовательности состоит не менее чем
из двух элементов.)
-
Определить, каких участков в последовательности
целых чисел больше: строго возрастающих или
нестрого убывающих.
Например, в последовательности
1, 2, 3, 3, 4, 5, 6, 5, 4, 3, 3, 4
выделяются участки
1, 2, 3,
3, 3,
3, 4, 5, 6,
6, 5, 4, 3, 3,
3, 4.
Таким образом, в ней 3 возрастающих и
2 невозрастающих участка. Программа
должна напечатать разность между числом возрастающих
и невозрастающих участков, в данном примере
ответ = 1.
-
Найти количество элементов в самом длинном постоянном
участке целочисленной последовательности.
(Считаем, что постоянный участок может состоять
и из одного элемента.)
-
Найти количество элементов в постоянном участке
целочисленной последовательности
с наибольшей суммой элементов этого
участка.
(Считаем, что постоянный участок может состоять
и из одного элемента.)
-
Найти длину строго возрастающего участка
целочисленной последовательности
с наибольшим количеством элементов.
(Считаем, что строго возрастающий участок
последовательности состоит как минимум
из двух элементов, т.е. последовательность может
вообще не содержать подобных участков.)
-
Найти наибольшую сумму строго возрастающего
участка целочисленной последовательности,
т.е. максимум из сумм элементов по всем
строго возрастающим участкам.
(Считаем, что строго возрастающий участок
последовательности состоит как минимум
из двух элементов, т.е. последовательность может
вообще не содержать подобных участков.)
-
Найти среднее арифметическое локальных экстремумов
последовательности вещественных чисел.
Рассматриваются нестрогие экстремумы: элемент
считается нестрогим локальным максимумом, если у
него нет соседей, строго больших, чем он сам;
аналогично определяется локальный минимум. В
частности, если в последовательности
все элементы равны, то все они являются локальными
экстремумами.
-
Найти максимальное расстояние
(разность номеров позиций)
между двумя соседними локальными минимумами
целочисленной последовательности.
Рассматриваются нестрогие локальные минимумы:
элемент
считается локальным минимумом, если у
него нет соседей, строго меньших, чем он сам.
-
Найти среднее арифметическое значений элементов
целочисленной последовательности,
учитывая значения в постоянных
участках только один раз.
-
Найти наименьшее общее кратное элементов
целочисленной последовательности.
-
Найти максимальную сумму нескольких
подряд идущих элементов
последовательности вещественных чисел.
(Максимум берется по всем непрерывным участкам
внутри последовательности, включая и
всю последовательность.)
-
Последовательность вещественных чисел
представляет собой коэффициенты многочлена
p(x) по возрастанию степеней. Вычислить
значение производной многочлена
в заданной точке
x = t.
Файл "input.txt" содержит сначала значение t
и затем последовательность коэффициентов многочлена.
-
Последовательность вещественных чисел
представляет собой коэффициенты многочлена
p(x) по убыванию степеней. Вычислить
значение производной многочлена
в заданной точке
x = t.
Файл "input.txt" содержит сначала значение t
и затем последовательность коэффициентов многочлена.