0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
||||||
1 | ||||||
Программа должна находить площадь произвольного многоугольника08.01.2014, 02:19. Показов 3754. Ответов 40
Метки нет (Все метки)
Здравствуйте. Моя программа должна находит площадь произвольного многоугольника, с предварительной проверкой, можно ли построить его вообще. Если вводит количество сторон = 4, то пишет, что построить нельзя и соответственно ничего не считает, хотя координаты правильные. А для 5,6,7,8 и т.д. сторон вообще ничего не выдает, на вводе координат ее работа заканчивается. Если не сложно, помогите, пожалуйста, найти ошибку. Я думаю она в основной функции Void main(), там я вызываю подфункцию Proverka и проверяю ее значение, т.е. все ее вызову должны быть равны 1 для подсчитки площади, и которая с xy[k]... вызывается несколько раз, может я со скобками напутала? Все подпрограммы я составляла по формулам, должно быть все правильно.
0
|
08.01.2014, 02:19 | |
Ответы с готовыми решениями:
40
Площадь произвольного многоугольника Вычислить площадь произвольного многоугольника, нарисованного на форме Программа должна находить наибольшую цифру во вводимом числе Программа должна находить минимальный элемент в столбцах матрицы которые упорядочены |
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
24.01.2014, 20:28 | 21 | ||||||||||
На это похоже?
1
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
|
24.01.2014, 20:55 [ТС] | 22 |
0
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
||||||
24.01.2014, 22:22 [ТС] | 24 | |||||
alsav22, Нет) Я поправила, теперь нормально вызывает Line и даже считает площадь, только неправильно и пишет 2 раза "Ошибка в воде координат"
0
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
||||||
24.01.2014, 23:58 [ТС] | 26 | |||||
alsav22,
0
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
|
25.01.2014, 11:25 [ТС] | 28 |
alsav22, Borlanc C++ 3.1
0
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
||||||
26.01.2014, 01:11 [ТС] | 30 | |||||
alsav22,
Мне эта программа не очень нравится, но учимся на ней
Я поменяла j на int, все так же работает и выдает 2 раза Ошибка в воде координат
0
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
||||||
26.01.2014, 14:51 | 32 | |||||
Найти площадь треугольника ABC можно, вычислив векторное произведение векторов AB и AC. Оно равно +2*S или -2*S.
Разобьём многоугольник на треугольники - см. рис. Вычислим векторные произведения A0A1 на A0A2, A0A2 на A0A3, и т.д.
0
|
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
|
||||||
26.01.2014, 15:54 | 33 | |||||
прямоугольник по условию произвольный. по моим представлениям (не выпуклый) (произвольные).
а вообще говоря, дорогой ТС, эта задача решается очень лаконично. пусть vertex[1,...,n,1] - список вершин многоугольника (первую вершину запишем дважды для удобства). тогда общую площадь найдем так:
0
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
|
26.01.2014, 22:44 [ТС] | 34 |
alsav22,
Да, как и после изменения, так и до, ничего не поменялось при смене j с float на int
Alex5, Спасибо за пример, но я очень плохо разбираюсь в програмировании и мне сложно будет перестроиться с одного на другое, я площадь нахожу по формуле площади многоугольника для любого произвольного многоугольника, выпуклого и невупуклого
0
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
|
27.01.2014, 00:20 [ТС] | 36 |
alsav22, Вот, я пробую на примере шестиугольника https://www.cyberforum.ru/atta... 1390587749
0
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|
27.01.2014, 13:04 | 38 |
-Arabella-, площадь многоугольника у Вас здесь вычислена правильно.
Что касается сообщения "Oshibka v vode ... ", ошибка на самом деле не в вводе, а в фунции Proverka, раз правильные данные она расценивает как ошибочные. Что значит "можно ли построить его"? Любой многоугольник можно построить Добавлено через 39 минут Я неверно выразился. Ошибка в структуре функции main() Добавлено через 6 минут Вот как выглядит main, если отформатировать код
1
|
0 / 0 / 1
Регистрация: 20.10.2013
Сообщений: 233
|
||||||
28.01.2014, 00:40 [ТС] | 39 | |||||
alsav22,
Может это изза того, что у меня старая программа и она не замечает какие-то ошибки? Alex5, Я как всегда не совсем правильно выразилась Программа проверяет можно ли построить по данным координатам Вы имеете в виду, что мне нужно цикл по k засунуть в цикл по j? При такой постановке скобок, у меня вылезает ошибка missplaced else, значит я не так поставила, я думаю, что цикл по k должен заканчиваться после посылке Proverka([k].....), но опять при закрытии скобки после первой Proverka ошибка о else
0
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
||||||
28.01.2014, 11:49 | 40 | |||||
-Arabella-, во всяком случае, площадь Ваша программа вычисляет правильно. Ну а проверка данных должна выполняться перед вычислением площади.
1
|
28.01.2014, 11:49 | |
28.01.2014, 11:49 | |
Помогаю со студенческими работами здесь
40
программа должна находить минимальный элемент массива среди элементов с нечетными индексами! Программа должна находить сумму членов массива, но ещё на первом круге значение sum может стать -NAN Программа должна показывать содержимое текстового файла в окне произвольного размера Программа должна находить в вводимом тексте цифры и вписывать их после слова "цифры" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |