Автор: мисс_граффити 5.03.2011 21:37
Попалось задание:
Цитата
Каждая строка текстового файла представляет собой запись комплексного числа. Разработать программу создания типизированного файла, содержащего комплексные числа, из заданного. Программа должна также позволять добавлять в файл новые числа и сортировать его.
Ладно, парсинг строки, текстовые-типизированные файлы - все понятно.
А вот сортировка - КАК?
Что больше: 2+3i или 3+2i или 5?
Как их сравнивать-то? Что-то мне смутно из курса алгебры припоминается про частично-упорядоченные множества...
Или не заморачиваться - и сравнивать по модулю, сделав соответствующую оговорку?
Задание по "алгоритмизации и программированию", 1 курс.
Автор: -TarasBer- 5.03.2011 22:06
Да хз, я бы сравнивал лексикографически (ну чтобы сужение на вещественные числа совпадало со сравнением для вещественных, то есть сравнение модулей не катит).
a+bi > с+di если
a>b
или
a=b и b>d
Автор: -TarasBer- 5.03.2011 22:07
Тьфу, вот так:
a+bi > c+di если
a>c
или
a=c и b>d
Автор: мисс_граффити 5.03.2011 22:39
такая идея тоже была... но это какая-то дискриминация мнимой части получается =)
Автор: -TarasBer- 5.03.2011 22:51
Ну тогда сравнивай
a+bi и c+di так:
сначала сравниваешь
a+b и c+d
(всё равноправно)
если они равны, то уже сравниваешь a с c.
Автор: Lapp 6.03.2011 20:46
В условии сказано:
Цитата
и сортировать его
При этом не сказано, ни по какому параметру, ни даже по возрастанию или убыванию. Отсортируй по личной симпатии (нравится/не_нравится)
.
Если чуть серьезнее, то, как мне кажется, упорядочить комплексные числа так, чтоб сохранить естественный порядок в действительных - просто невозможно. Устанавливать биекцию плоскости в отрезок и по ней разруливать - извините, смешно, если учесть точность представления чисел в кмпьютере. Ох, кажется я опять съехал с серьезного лада..
И вообще, если бы TarasBer ТУТ возмутился бы вольным обращением авторов задания с РЯ, то я бы его в этом частном конкретном случае поддержал
.
Если бы:
а) это задание попалось бы МНЕ,
б) его надо было бы сдавать ЧЕЛОВЕКУ (а не машине, скажем)
- то я бы просто сказал/написал, что задание некорректно (или неполно), и послал бы их всех на. А если бы мне поставили пару, я бы потом всем гордо это рассказывал.. ))
Автор: Unconnected 6.03.2011 21:57
Цитата
При этом не сказано, ни по какому параметру, ни даже по возрастанию или убыванию.
Угу. На олимпиаде по математике было задание (точная цитата): "Возможно ли в кубе проделать дыру так, чтобы через неё можно было бы протащить такой же куб?". По идее, вопрос подразумевает да-нет. Ну я написал, конечно да, и даже, сверх задания, примерно нарисовал, где надо пилить (ну совсем примерно, от руки). Ну и дали 5 баллов из 20, а чо, раз спрашиваем, значит интересно, как пилить!