Илья, Вы сначала определитесь сами, что именно для вас будет "пустым" массивом.
Стандартные статические и динамические массивы, как написал выше poige не могут быть пустыми. Они всегда имеют размер >0. И да же если вы не инициализируете элементы массива, в них все равно будут какие-то значения (мусор).
Стандартный подход - если длина массива 0, значит массив пустой.
Вы можете, например, в программе считать, что значение 0 - это отсутствие элемента и в коде проверять это. Тогда проверка на "пустоту" массива своидтся просто к проверке всех значений на равенство 0. Если хоть один элемент не 0 - массив не пустой. Значение 0 я взял произвольно, вы можете брать любое другое, в зависимости от типа данных хранящегося в массиве. Или еще хуже - сделать массив структур, одно поле структуры отводите под признак - пустая структура или нет.
Vapaamies, Каждый волен понимать как ему угодно.
Я обозначил, что проблема с кодировками в винде действительно существует и она не решается с наскока. Возможно автору вопроса на данном этапе изучения программирования нет смысла погружаться в эту тему. Хотя с другой стороны погружение в тему поможет и изучению программирования. Так что пусть решает сам.
Я лично считаю, что проблема кодировок, особенно для консольных программ, желающих разговаривать на родном для пользователя языке - это проблема рпограммиста. Для простых случаев достаточно использовать английский язык для всего ввода/вывода и проблем практически не будет.
Ошибка, выделенная красным, говорит о том что ВПН клиент не может достучаться до ВПН сервера.
На этом этапе дело скорее всего не в ВПН, а в сетевых настройках клиента/сервера, еще возможно не правильно указан адрес сервера в конфиге клиента.
Для начала просто проверьте доступность сервера с клиента по сети, например пингами и т.п. Отключите фаерволы на обоих сторонах и промежуточные, если есть. Проверьте стартовал ли сервер, слушает ли он нужный порт на нужном интерфейсе. Сначала подключайтесь без фаерволов. Когда в таком варианте заработает, можете по одному включать фаерволы и настраивать правила.
Gourii, можете попробовать.
У вас же наверняка роутер раздает сетевые адреса. DHCP поддерживает дополнительные опции, одна из опций - настройка маршрутов. Лучше использовать эту возможноть, если роутер это поддерживает.
Никита Шинкевич, Можно добавить сертификат в доверенные/доверенные корневые центры сертификации на клиенте. Но проблему с датами это не закроет, конечно.
Нужно найти старый/новый сертификат буки бяки и втянуть его клиенту (или серверу).
Раскурочить сертификат вы не сможете. Точнее раскурочить можно, но он тут же станет не валидным, т.к. сертификат подписывается ЭЦП. Это же криптография. Поэтому нет никакого смысла его курочить.
Если вы имеете ввиду самоподписанный сертификат RDS, то в принципе его можно попытаться перевыпустить с более широким диапазоном дат и подсунуть RDSу. Как это сделать - я не в курсе, но скорее всего это возможно, т.к. на серверной винде есть возможность подсовывать свой сертификат RDSу вполне легально. Значит и на десктопной винде это сделать можно, только для этого нет интерфейса (инструментов), поэтому делать это придется через реестр/политики.
Другой вариант - отключить проверку подлинности сертификатов клиента/сервера. Соответсвующая настройка должна быть где-то в реестре винды зарыта (или возможно в групповых политиках). Гуглите. Эта настройка будет влият на любые подключения RDP на клиенте/сервере.
1. Списки, деревья и т.п. структуры данных как правило пишутся для использования именно с данными в динамической памяти. Так что ваша проблема с добавлением в список константы - надуманная, в реальности вы вряд ли с таким столкнетесь.
2. Вы можете соорудить нечто вроде шаблонов используя #define и передавая ему параметром желаемый тип.
Тогда набор функций под соответствующий тип будет генерироваться автоматически.
Это немного похоже на шаблоны в С++, но, конечно, лишь слабое подобие.
В шаблонах С++, кстати, функции и классы то же генерируются для каждого инстанцирования.
Максим Федоров, Наследование привел лишь как пример. Если язык не поддерживает ООП, то все ООП плюшки нужно так или иначе реализовывать самому, если они нужны.
Операция move в винде переносит вместе с файлами и все права, которые у него были на старом месте.
Проще всего, чтоб не возится с установкой прав на новом месте, копировать файлы, а потом удалять на старом.
При копировании файлов, новый файл на новом месте наследует права от каталога назначения, поэтому проблемы с правами нет.
Но если файлов много или они много весят, то это плохой вариант и нужно выставлять права на новом месте после перемещения. Используйте утилиту cacls для этого.
Батник запускайте от пользователя имеющего все права в оба каталога.
Мода самый высокий столбец.
Среднее: sum(xi*yi) / sum(yi)
Медиана: проще всего построить по гистограмме график кумуляты, по нему находится медиана элементарно, в гугле полно информации. То же самое, что и с графиком кумуляты можно легко проделать с помощью числовой таблицы, в Excel например.
Не логично так предполагать.
Вы запускаете дополнительный поток в процессе. Поток может спокойно завершиться, при этом процесс будет продолжать работать как ни в чем не бывало, т.к. у него есть свои собственные потоки выполнения.
Завершается процесс из-за какой-либо ошибки, скорее всего вызванной вашим вторжением.
Посмотрите для примера: https://github.com/theevilbit/injection/tree/maste...
Egorithm, Где-то в недрах windows.h зарыта древняя константа MAX_PATH равная 260. Ее использует много софта. Когда-то, когда винда была "зеленой" она была актуальной, сейчас уже нет. Но константа все еще присутствует и код ее использующий все еще живет. И даже родной микрософтовский софт до сих пор не изжил этот пережиток прошлого и похоже некоторые старые WinAPI функции то же ее используют.
Реальных ограничений в 260 символов в NTFS давно не существует. Если использовать юникодные фунции WinAPI для работы с файлами то там ограничение будет в 32 Кб.
В линуксе в linux/limits.h есть другая константа PATH_MAX обычно равная 4 Кб. Можно использовать ее. Но во многих ФС под linux действует ограничение на длину имени файла (имени каталога) в 255 символов (константа NAME_MAX там же). В некоторых ФС это ограничение не такое строгое. Так же по этой теме можно посмотреть manы по функциям realpath() или pathconf().
Стандартные статические и динамические массивы, как написал выше poige не могут быть пустыми. Они всегда имеют размер >0. И да же если вы не инициализируете элементы массива, в них все равно будут какие-то значения (мусор).
Стандартный подход - если длина массива 0, значит массив пустой.
Вы можете, например, в программе считать, что значение 0 - это отсутствие элемента и в коде проверять это. Тогда проверка на "пустоту" массива своидтся просто к проверке всех значений на равенство 0. Если хоть один элемент не 0 - массив не пустой. Значение 0 я взял произвольно, вы можете брать любое другое, в зависимости от типа данных хранящегося в массиве. Или еще хуже - сделать массив структур, одно поле структуры отводите под признак - пустая структура или нет.