![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
DarkWishmaster |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вообщем дано N точек и их координаты:
Например: N:=4 0 0 2 2 -2 2 2 -2 Сколько равнобедренных треугольников получатся если их соеденить? Я попробовал так: берем 1 точку и 2, мерим растояние(D), потом идём по другим точкам и мерим растояние от 1 до каждой точки, если совподает с (D) то inc(Count); Потом 1 точка и 3 точка, мерим растояние и. т Потом уже 2 и 3 точка, и.т Всё равно бред получается, может у вас есть какие нибудь идеи. File Edit Search Run Compile Debug Tools Options Window Help Сообщение отредактировано: DarkWishmaster - 10.02.2011 19:14 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Вот ключ к решению: Операции над векторами
|
DarkWishmaster |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Такая проблема, если поставить точки на одной прямой, на равные растояние, то ответ будет будет больше нуля, хотя должен быть 0. |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Такая проблема, если поставить точки на одной прямой, на равные растояние, то ответ будет будет больше нуля, хотя должен быть 0. А почему это он должен быть 0?Выбираем точки 1, 2, 3 на оси Х, соединяем. Получаем равнобедренный треугольник (стороны [1,2] и [2,3] - равны).. Где я ошибся? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
-TarasBer- |
![]()
Сообщение
#5
|
Гость ![]() |
> File Edit Search Run Compile Debug Tools Options Window Help
Ты что, из консоли что ли копируешь? Теперь я понял, откуда 2 чёрточки в начале каждой строчки. Просто сохрани файл, а потом правой кнопкой по нему - открыть с помощью - блокнот. И из него нормально копируй. > D1:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])); > D2:=sqrt(sqr(x[j]-x[k])+sqr(y[j]-y[k])); > D3:=sqrt(sqr(x[k]-x[i])+sqr(y[k]-y[i])); Для того, чтобы просто сравнивать расстояния, не надо извлекаться корень. Только учти, что тут тебе может не хватить размера типа integer и придётся перейти на longint. |
DarkWishmaster |
![]()
Сообщение
#6
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
> File Edit Search Run Compile Debug Tools Options Window Help Ты что, из консоли что ли копируешь? Теперь я понял, откуда 2 чёрточки в начале каждой строчки. Просто сохрани файл, а потом правой кнопкой по нему - открыть с помощью - блокнот. И из него нормально копируй. > D1:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])); > D2:=sqrt(sqr(x[j]-x[k])+sqr(y[j]-y[k])); > D3:=sqrt(sqr(x[k]-x[i])+sqr(y[k]-y[i])); Для того, чтобы просто сравнивать расстояния, не надо извлекаться корень. Только учти, что тут тебе может не хватить размера типа integer и придётся перейти на longint. О, спасибо! Я и в правду копировал Prt Scrn из паскаля. Lapp, Вот соединяем, получаем линию AB. З.Ы За русский извиняюсь, не мой родной язык, но если найдёте ошибки, буду рад исправить. Сообщение отредактировано: DarkWishmaster - 19.02.2011 17:34 |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Повторяю вопрос Lapp-а: что заставляет тебя НЕ считать AOB равнобедренным треугольником?
|
DarkWishmaster |
![]()
Сообщение
#8
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
Lapp |
![]()
Сообщение
#9
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Наверно потому что у АОВ нету 3 углов. Но википедия подсказала что "он называется вырожденным." так что извините, спасибо! Тот случай, когда программа оказалась умнее своего создателя )). Кстати, не такой уж и редкий на самом деле, у меня так бывало не раз.(volvo, спасибо)) -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 14:27 |