IPB

Здравствуйте, гость ( Вход | Регистрация )

> Массивы на c++ в среде CodeBlock, Помогите !
MonaMi
сообщение 3.12.2012, 18:35
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 3.12.2012
Город: Ростов-на-Дону
Учебное заведение: ЮФУ



Нужно написать программу на С++
Задание звучит так:
Даны натуральное число n и два вещественных массива из n элементов каждый. Массивы содержат значения координат точек на плоскости. Из заданного множества точек на плоскости выбрать такие три точки, которые составляют треугольник наибольшего периметра (использовать функцию).

Для решения этой задачи я решила использовать следующий алгоритм:
1. Просматриваем два массива со значениями координат.
2. Находим длину одной стороны, потом второй и третьей.
3. Значения нашедших сторон складываем и получаем периметр.

Вот теперь вопрос: как сделать так, чтобы находя периметр определить, что он максимально возможный при данных точках?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
MonaMi
сообщение 4.12.2012, 13:52
Сообщение #2


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 3.12.2012
Город: Ростов-на-Дону
Учебное заведение: ЮФУ



Ограничений по времени нет. проверять на расположение точек на одной прямой,предполагаю тоже не надо.
Спасибо за подсказку. Единственная проблема возникает-как записать полученние длины сторон в двумерный массив? Я двумерные массивы плохо знаю. Семантически как это будет? массив размера n/3 на 3 и в каждом столбце записаны три длины сторон треугольника?
Как я поняла, мне достаточно будет проверять,что точки не одинаковые и читая значения длин из массива считать периметры,а потом искать максимальным?
По логике, максимальный периметр получится при наибольших сторонах.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sergio Ramos
сообщение 4.12.2012, 16:00
Сообщение #3


Студент
**

Группа: Продвинутые
Сообщений: 86
Регистрация: 16.11.2010
Город: Saratov



Цитата(MonaMi @ 4.12.2012, 18:52) *

Ограничений по времени нет. проверять на расположение точек на одной прямой,предполагаю тоже не надо.
Спасибо за подсказку. Единственная проблема возникает-как записать полученние длины сторон в двумерный массив? Я двумерные массивы плохо знаю. Семантически как это будет? массив размера 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.12.2012, 19:46
Сообщение #4


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 3.12.2012
Город: Ростов-на-Дону
Учебное заведение: ЮФУ



Цитата(Sergio Ramos @ 4.12.2012, 20:00) *



Спасибо большое) буду пробовать)

Цитата(daslex @ 4.12.2012, 19:56) *

Массивы содержат значения координат точек на плоскости
Массивы содержат вещественные числа.
=============
У каждой точки две(три, четыре и более координат) Зависит от плоскости и пространства. Следовательно первый массив содержит значения X, второй массив Y. Итого получается N известных точек, по которым нужо провести анализ по периметрам треугольников в двумерной плоскости. Это N задано условием.
============

Я Правильно понял?

да. задание Вы правильно поняли.

>>system("CLS");
что это за функция и что она выполняет?


Спасибо)


Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 14:31

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru