Дело в том, что я пишу транслятор кода с JavaScript на C++.
И разумеется программист на Js хочет получить не сигнал, а значение вроде NaN или Infinity, если что-то идет не так.
При этом хочется чтобы сгенерированный код на плюсах быстро работал и читался хорошо.
Т.е использовать вместо a/b что-то вроде
safe_div(a,b) не хочется.
Можно вместо int использовать что-то типо JsNumber
Т.е объект моего класса чисел с перегруженными операторами сложения и т.д, но это - производительность.
Сергей Паньков, желательно готовое решение
хотя бы простое объяснение на словах что нужно использовать такой то алгоритм и так-то
Я пробовал Дейкстрой решить, но не вышло.
я бы понял, что оно для переносимости если бы размер int был равен размеру машинного слова
в реальности размер int довольно рандомный, вот это и интересно
вот в типе size_t смысл точно есть
Проблема не в том как измерять время для этого есть утилита time.
Проблема в том как получить нормальные данные.
Когда ввода/вывода мало,то время сильно меняется в зависимости от удачи.
Я посмотрел его ответ. Он подходит, но лишь отчасти.
Мой вопрос можно переформулировать: как можно отсортировать массив вершин так, чтобы если соединить эти вершины получился выпуклый многоугольник.
Спасибо. Но еще нужно точки соединять чтобы был выпуклый многоугольник, а не только проверять на выпуклость. Т.е если есть 4 точки, то соединить их можно так, чтобы получился невыпуклый многоугольник. Вопрос только как это сделать. Методу drawPolygon из Windows Forms абсолютно все равно какой многоугольник рисовать, он рисует невыпуклый по 4 точкам.
Т.е вопрос можно переформулировать: как можно отсортировать массив вершин так, чтобы если соединить эти вершины получился выпуклый многоугольник.
Тебе нужно описать проблему, но пока ты рассказываешь мне свои попытки решения этой проблемы. Я хочу понять проблему.
Описываю: лабораторная работа заключается в том, чтобы построить многоугольник по точкам. Точки пользователь вводит кликом. Я использую drawPolygon потому, что прочитал в доках, что он строит многоугольник. Вроде как подходит для решения задачи. В действительности он строит не так, как ожидалось (просто проходит по массиву точек и соединяет их, в результате порядок ввода играет роль). Про таблицу инцидентности вершин не слышал.
Получается, что в общем-то drawPolygon подходящий метод, просто в массиве точек нужно выполнить какие-то перестановки, чтобы линии нормально соединялись. А какие пока не понял.
И разумеется программист на Js хочет получить не сигнал, а значение вроде NaN или Infinity, если что-то идет не так.
При этом хочется чтобы сгенерированный код на плюсах быстро работал и читался хорошо.
Т.е использовать вместо a/b что-то вроде
safe_div(a,b) не хочется.
Можно вместо int использовать что-то типо JsNumber
Т.е объект моего класса чисел с перегруженными операторами сложения и т.д, но это - производительность.