B. Задачи второго среднего уровня. 1. На плоскости задано N точек своими координатами

1. На плоскости задано N точек своими координатами. Найти среди них такую, сумма расстояний от которой до остальных минимальна.

2. В множестве точек на плоскости найти все пары точек с одинаковым максимальным расстоянием между ними.

3. Найти расстояние между двумя заданными множествами точек на плоскости, то есть расстояние между наиболее близко расположенными точками этих множеств.

4. Найти площадь многоугольника, заданного перечислением координат вершин в порядке обхода его границы.

5. Среди заданного множества точек в трёхмерном пространстве M найти такую точку, что шар заданного радиуса с центром в этой точке содержит максимальное количество точек из M.

6. В заданном множестве точек на плоскости выбрать такие три различные точки, чтобы была минимальной разность между количествами точек, лежащих внутри и вне треугольника с вершинами в выбранных точках.

7. Выбрать три точки заданного на плоскости множества точек, составляющие треугольник наибольшего периметра.

8. Многоугольник задан координатами своих вершин. Определите, является ли данный многоугольник выпуклым.

9. Многоугольник задан координатами своих вершин. Найдите площадь этого многоугольника.

10. Заданные точки плоскости рассортировать по возрастанию расстояния от начала координат. Для сортировки использовать алгоритм выбора минимального элемента.

11. Найти значение многочлена с заданными в виде массива коэффициентами, вычисляя и суммируя значения одночленов.

12. Найти значение многочлена с заданными в виде массива коэффициентами, используя схему Горнера.

13. Сложить два многочлена заданных различных степеней, если коэфициенты хранятся в массивах. Все три полинома вывести на экран в удобном для просмотра виде (коэфициенты, равные 1 или –1, не выводить; не выводить одночлен с нулевым коэфициентом и т. п.).

14. В одномерном массиве найти количество различных элементов.

15. Известно, что в массиве размерности N могут быть только целые числа из диапазона 1..31. Рассортировать эти числа по частоте встречаемости, используя алгоритм обмена.

16. Сложить два больших целых числа по правилу сложения “в столбик”. Для таких чисел вещественный тип неприемлем, а типа long
int
недостаточно, так как в числе больше 10 цифр. Для хранения такого числа предлагается использовать одномерный массив, каждый элемент которого представляет собой одну десятичную цифру числа.

C. Задачи повышенной сложности.

1. На плоскости задано множество точек P и множество прямых L. Найти две такие различные точки из P, что проходящая через них прямая параллельна наибольшему количеству прямых из L.

2. Среди треугольников с вершинами в заданном множестве точек на плоскости найти такой, стороны которого содержат максимальное количество точек заданного множества.

3. Из заданного множества точек на плоскости выбрать две различные точки так, чтобы разность между количествами точек, лежащих по разные стороны прямой, проходящей через эти две точки, была наименьшей.

4. Задано множество прямых на плоскости (коэфициентами своих уравнений). Найти координаты и количество точек пересечения этих прямых. Если в точке пересекается более двух прямых, такую точку считать как одну.

5. Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств.

6. На плоскости заданы множество точек P и множество окружностей S. Найти две такие различные точки из P, что проходящая через них прямая пересекается с максимальным количеством окружностей из S.

7. На плоскости заданы множество точек P и точка d вне его. Найти количество различных троек точек a, b, c из P таких, что четырёхугольник abcd является параллелограмом.

8. Умножить два полинома заданных различных степеней (не обязательно одинаковых), если коэфициенты хранятся в массивах. Все три полинома вывести на экран в удобном для просмотра виде (коэфициенты, равные 1 или –1, не выводить; не выводить одночлен с нулевым коэфициентом и т. п.).

9. На плоскости задано множество из N точек. Найти такой выпуклый многоугольник, построенный на вершинах из заданного множества, чтобы все точки лежали внутри этого многоугольника. Вывести соответствующее сообщение, если такой многоугольник построить невозможно.

10. На плоскости задано множество точек. Выделить из этих точек вершины квадрата, на сторонах которого лежит наибольшее количество заданных точек.

11. Все элементы целочисленного массива, представляющие собой совершенные числа (равные сумме своих делителей), переписать в начало массива, сохраняя их порядок, а остальные элементы — в конец. Новый массив не формировать.

12. Измените заданный одномерный массив, чтобы в начале стояли все нулевые элементы, затем – отрицательные, а в конце – положительные элементы последовательности. При этом начальный порядок отрицательных (аналогично и положительных) элементов должен быть сохранён. Новый массив не формировать.

13. Из двух заданных упорядоченных числовых массивов размерности n и m получить новый упорядоченный массив размерности n+m, не используя алгоритма сортировки.

14. В одномерном массиве найти k-й максимальный элемент. Предусмотреть случай когда такого элемента не существует.

15. Умножить два больших целых числа по правилу умножения “в столбик”. Для таких чисел вещественный тип неприемлем, а типа long
int
недостаточно, так как в числе больше 10 цифр. Для хранения такого числа предлагается использовать одномерный массив, каждый элемент которого представляет собой одну десятичную цифру числа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: