Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2015, 19:42   #1
Siusarna
Пользователь
 
Регистрация: 15.10.2015
Сообщений: 11
По умолчанию Создайте программу, которая выясняет, можно ли из данных двух или трех треугольников образовать треугольник «склеиванием» вдоль

Помогите з заданием
Создайте программу triangle. *, Которая выясняет, можно ли из данных двух или трех треугольников образовать треугольник «склеиванием» вдоль стороны.
Каждая строка входного файла triangle.dat содержит 2 или 3 тройки натуральных чисел, которые являются длинами сторон данных треугольников и меньше 32100. Если склеивания возможно, то удвоенная площадь каждого треугольника - натуральное число.
Соответствующая строка выходного файла triangle.res должна содержать или длины сторон вновь треугольника в порядке неубывания, или запись «No solution», если такого треугольника нет.
Пример
triangle.dat triangle.res
18 24 30 10 24 26 26 28 30
18 24 30 10 24 25 No solution
27 36 45 15 20 25 16 25 39 39 42 45
27 36 45 15 20 25 16 25 38 No solution
Siusarna вне форума Ответить с цитированием
Старый 16.10.2015, 00:08   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

А что непонятно?
1. Склеивать можно треугольники, у которых:
- есть равные стороны;
- сумма соответствующих углов равна 180 град.
2. Надо написать функцию, которая проверяет склейку для двух треугольников. Склейку трех треугольников следует проверять по принципу: склейка двух, склейка нового треугольника с третьим. Тут придется рассматривать варианты: а) первый т-ник со вторым + третий; б) первый с третьим + второй; второй с третьим + первый.
3. Я бы создал двумерный массив, в котором в одной части хранил стороны, а во второй части - принадлежность стороны к треугольнику. Затем, после сортировки массива, отбирал равные стороны и проверял их принадлежность разным т-кам. Далее проверял вторую часть условия, см. п.1. При этом следует проверять оба, прилежащих к рассматриваемой стороне угла.

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



Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 16.10.2015, 16:55   #3
Siusarna
Пользователь
 
Регистрация: 15.10.2015
Сообщений: 11
По умолчанию

а что делать если еще не учили масывы?
Siusarna вне форума Ответить с цитированием
Старый 16.10.2015, 21:19   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Мой ответ на Ваш вопрос.
А что делать, если мама не приготовила еду?
Вы по утрам зарядку делаете? Вас этому кто-то учил?
Музыку любите? Качать музыку умеете? Управлять плеером получается?

Музыку откладываем на потом.
Берём правильную книжку, например, Т.А. Павловская, Программирование на ЯВУ, Паскаль (качаем с этого форума), внимательно читаем материал по массивам, делаем пример, пытаемся решить свою задачу...
Когда успех приходит через труд ...

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 16.10.2015, 21:50   #5
Siusarna
Пользователь
 
Регистрация: 15.10.2015
Сообщений: 11
По умолчанию

Можете написать как програма будет выглядить програма
Siusarna вне форума Ответить с цитированием
Старый 16.10.2015, 22:28   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Можете написать как програма будет выглядить програма
програма будет выглядить програма примерно вот так:

1548274.png

Есть 2 типа людей: одни сидит на трубах, другим нужны деньги.

А ты у нас кто такой будешь?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#.Определить функцию, которая выясняет, пересекаются ли две фигуры Tomogochi Общие вопросы .NET 12 26.10.2015 00:30
Ассемблер. Написать программу, заменяющей наименьшее из трех чисел полусуммой двух других. xperiax8548 Помощь студентам 7 13.12.2013 13:48
Сколько n-значных чисел можно образовать из двух цифр 5 и 9, в которых три одинаковые цифры не стоят рядом Thunder Dragon Паскаль, Turbo Pascal, PascalABC.NET 7 26.03.2012 20:05
В компьютер вводятся координаты х и у вершин двух треугольников. Составить программу, определяющую их конгруэнтность YorikBir Паскаль, Turbo Pascal, PascalABC.NET 11 07.12.2011 13:26
Реализовать программу сбора елки из треугольников. Используя объектные структуры, создать 6 треугольников разного размера dyozik Общие вопросы Delphi 4 05.12.2011 11:52