![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
MonaMi |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Продвинутые Сообщений: 5 Регистрация: 3.12.2012 Город: Ростов-на-Дону Учебное заведение: ЮФУ ![]() |
Нужно написать программу на С++
Задание звучит так: Даны натуральное число n и два вещественных массива из n элементов каждый. Массивы содержат значения координат точек на плоскости. Из заданного множества точек на плоскости выбрать такие три точки, которые составляют треугольник наибольшего периметра (использовать функцию). Для решения этой задачи я решила использовать следующий алгоритм: 1. Просматриваем два массива со значениями координат. 2. Находим длину одной стороны, потом второй и третьей. 3. Значения нашедших сторон складываем и получаем периметр. Вот теперь вопрос: как сделать так, чтобы находя периметр определить, что он максимально возможный при данных точках? |
![]() ![]() |
MonaMi |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Продвинутые Сообщений: 5 Регистрация: 3.12.2012 Город: Ростов-на-Дону Учебное заведение: ЮФУ ![]() |
Ограничений по времени нет. проверять на расположение точек на одной прямой,предполагаю тоже не надо.
Спасибо за подсказку. Единственная проблема возникает-как записать полученние длины сторон в двумерный массив? Я двумерные массивы плохо знаю. Семантически как это будет? массив размера n/3 на 3 и в каждом столбце записаны три длины сторон треугольника? Как я поняла, мне достаточно будет проверять,что точки не одинаковые и читая значения длин из массива считать периметры,а потом искать максимальным? По логике, максимальный периметр получится при наибольших сторонах. |
Sergio Ramos |
![]()
Сообщение
#3
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 86 Регистрация: 16.11.2010 Город: Saratov ![]() |
Ограничений по времени нет. проверять на расположение точек на одной прямой,предполагаю тоже не надо. Спасибо за подсказку. Единственная проблема возникает-как записать полученние длины сторон в двумерный массив? Я двумерные массивы плохо знаю. Семантически как это будет? массив размера n/3 на 3 и в каждом столбце записаны три длины сторон треугольника? Как я поняла, мне достаточно будет проверять,что точки не одинаковые и читая значения длин из массива считать периметры,а потом искать максимальным? По логике, максимальный периметр получится при наибольших сторонах. >>> двумерные массивы плохо знаю. ничего сложного. это массив одномерных массивов. пример инициализации статического двумерного массива int array[10] [20] ; пример инициализация динамического двумерного массива int ** array = new int * [N]; for(int i=0; i < N; i++) array[i] = new int[N]; >>> массив размера n/3 на 3 и в каждом столбце записаны три длины сторон треугольника? массив n x n, где array[i][j] = длине между i-ой и j-ой точкой. исправите lens[i][j] на lens[i][k]. а то 2 раза одно и тоже расстояние прибавляется. |
MonaMi |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Продвинутые Сообщений: 5 Регистрация: 3.12.2012 Город: Ростов-на-Дону Учебное заведение: ЮФУ ![]() |
Спасибо большое) буду пробовать) Массивы содержат значения координат точек на плоскости Массивы содержат вещественные числа. ============= У каждой точки две(три, четыре и более координат) Зависит от плоскости и пространства. Следовательно первый массив содержит значения X, второй массив Y. Итого получается N известных точек, по которым нужо провести анализ по периметрам треугольников в двумерной плоскости. Это N задано условием. ============ Я Правильно понял? да. задание Вы правильно поняли. >>system("CLS"); что это за функция и что она выполняет? Спасибо) |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 14:31 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru