Давид Чередник, а как вы собираетесь вместе писать код? Поменяете вы одну строчку одновременно. Чью версию нужно будет оставить, если будет автосинхронизация?
Василий Мельников, сначала делать сортировку не нужно, нужно в таком случае использовать set.
Но если вам на вход приходят уже сортированные данные, то использование unique намного эффективнее, т.к он работает за линейное время. А вот удаление дубликатов в неотсортированном наборе имеет квадратичную сложность. Поэтому нет смысла такую функцию реализовывать отдельно.
alex_boev, а ещё посмотрите в сторону msys2. Это практически archlinux в Винде. Позволяет даже запускать многие графические приложения. Я запускал gitg.
Довольный Жизнью, Мила, для начала я бы перезаписал диск нулями или сделал бы пару проходов badblocks.
Прямо сейчас у меня есть диск, на котором были софт бэды. Это такая штука, когда при отключении питания контроллер не успел записать контрольную сумму в сектор. И при дальнейшем чтения контроллер считает этот сектор сбойным.
При записи не происходит чтения. Поэтому запись в такой сектор происходит без проблем. А при записи обновляется контрольная сумма.
Но у меня переразмеченных секторов 0. Сектора не переназначаются при ошибках чтения. Только при ошибках записи. Скорее всего пациент мертв. Но если есть желание повозиться, то можно попробовать.
Сергей, так исторически сложилось, что во времена появления языка Си большинство процессоров не умели работать с вещественными числами. Поэтому / для целочисленного деления вполне логично выглядело на тот момент.
В C++ уже есть перегрузка операторов. Она ещё больше вносит ясности в работу оператора /
Например "path / path" не производит никакого деления, а производит платформо независимую конкатенацию путей файловой системы.
Если представить на минутку, что int это не примитив, а класс, то "int / int" является инфиксым оператором класса int.
А "double / int" или "double / double" инфиксым оператором класса double.
Соответственно от типа зависит и реализация оператора.