Задать вопрос
  • Как удалить элемент массива?

    @res2001
    Developer, ex-admin
    Прежде всего я не понимаю, как выбить этот элемент из массива

    В вопросе уже есть ответ на вашу непонятку:
    для чего выполнить сдвиг влево.

    Т.е. вам не нужно фактически удалять найденное значение (к тому же это и не возможно сделать), нужно просто передвинуть остающиеся элементы на одно значение. Таким образом массив не уменьшиться в размере, но последний элемент будет не актуальным, после сдвига ему можно присвоить некоторое значение, которого не может быть в существующих элементах (если такое возможно). Копировать элементы массива можно просто с помощью memmove().
    Искать элемент в отсортированном массиве нужно используя двоичный поиск.
    Ответ написан
    Комментировать
  • Как дать разрешение для выполнения скриптов в Ubuntu?

    @res2001
    Developer, ex-admin
    Стандартное разрешение никсов на выполнение: sudo chmod +x <имя файла скрипта>
    При этом в скрипте первая строка должна быть чем-то вроде: #!/bin/bash
    Варианты могут быть разные, в зависимости от ЯП на котором написан скрипт, первые 2 символа обязательные.
    Ответ написан
  • Ошибка при установке библиотеки SciPy, как правильно установить?

    @res2001
    Developer, ex-admin
    Использую Анаконду с уже предустановленными библиотеками. Есть и другие подобные сборки.
    Ответ написан
  • Как правильно запускать exe через bat?

    @res2001
    Developer, ex-admin
    Из батника ехе запускается очень просто: Y:/finalversion.exe
    Ваша конструкция (через start) то же должна работать, но это лишнее.
    Другой вопрос как вы запускаете сам батник.
    Ответ написан
    1 комментарий
  • Настроить доступ к локальной сети клиентам OpenVPN в CentOS?

    @res2001
    Developer, ex-admin
    Это лишнее:
    push "route 192.172.10.0 255.255.255.0" \\Сеть за микротом
    push "route 192.168.10.0 255.255.255.0"

    Это уберите в файл клиента, в опцию iroute
    route 192.172.10.0 255.255.255.0
    Почему у вас локальная сеть за микротом имеет белые адреса? Вы арендуете у прова подсеть? (192.172.10.0/24)
    Но это к делу отношения не имеет.

    Вообще вам же, видимо, нужно что бы компы в сети за сервером ВПН имели доступ к компам за микротиком и наоборот?
    Сама ВПН у вас настроена нормально. Это видно из того, что вы успешно подключаетесь к ВПН серверу и видимо с микротика имеете доступ к компам в сети за сервером ВПН.
    У вас просто не хватает правил маршрутизации на компах в одной или в другой сети. Подозреваю, что ВПН сервер не является шлюзом по умолчанию для компов внутри сети и они не знают правильного маршрута до сети за микротиком.
    Ответ написан
    Комментировать
  • Почему значения меняются?

    @res2001
    Developer, ex-admin
    Потому что массив так нельзя вернуть из функции. Сейчас вы просто возвращаете указатель. Пока указатель находится в функции getMas он действительно указывает на массив. Как-только вы вышли из getMas стек схлопнулся (ваш массив находится на стеке) и память, где раньше лежал массив стала не действительной.
    После вызова первого printf, та же память на стеке, которую когда-то занимал ваш массив выделилась под нужды printf, и printf заполнила эту память чем-то своим, поэтому в третьем printf у вас фигня.
    Программа у вас не вываливается с ошибкой, потому что в стеке память всегда выделена. "Схлопывание стека" - это просто уменьшение/увеличение регистра указателя на стек.

    У вас есть 2 вариант.
    1. Простой - выделить массив в main, передать его в getMas. Из getMas уже можете ничего не возвращать, только заполняете там массив.
    2. Выделяете динамический массив в getMas с помощью malloc. В main не забудьте освободить память, выделенную для массива. Это плохой вариант, т.к. память выделяется на одном уровне программы, а освобождается на другом. Но в вашей простой задаче можно пока на это не обращать внимания.
    Ответ написан
    Комментировать
  • Длина файла в c++?

    @res2001
    Developer, ex-admin
    Не нужно вам так: for(i =0; i<=длина файла -1;i++)
    Читайте пока не будет eof() или ошибки, обычно делают примерно так:
    while(f.good()) { f.read() }

    Если же все таки нужно узнать длину файла (иногда действительно надо), то используйте такую схему - после открытия файла, переходите в конец и узнаете текущую позицию - это и будет длина файла.
    Потом не забудьте закрыть файл или вернуться в начало (нужную позицию).
    Ответ написан
    Комментировать
  • Как получить мак адресс в переменную?

    @res2001
    Developer, ex-admin
    Примерно так: запускаете ipconfig /all | findstr ... - ipconfig выводит портянку данных по сетевым соединениям, с помощью условия в findstr фильтруете вывод ipconfig так что бы оставалась одна строчка с нужным МАСом.
    Всю конструкцию загоняете загоняете в for /f:
    for /f "tokens=... delims=..." %%a in ('ipconfig /all ^| findstr ...') do (
      start browser %%a
    )

    Сейчас под рукой винды нет, поэтому подробней не напишут.
    Для справки:
    ipconfig /?
    findstr /?
    for /?
    Ответ написан
    Комментировать
  • Есть ли аналог Terminal server в linux?

    @res2001
    Developer, ex-admin
    1.xrdp ставить на линукс и подключаетесь любым RDP клиентом.
    2.В комп с линухом: 2 видеокарты, в каждую по монитору, 2 клавы и мышки. Ставите гипервизор (например KVM), создаете 2 виртуалки, в каждую виртуалку пробрасываете видюху, клаву и мышь. Статьи на эту тему видел на хабре.
    Ответ написан
    Комментировать
  • Кто нибудь подскажет чайнику команду в bat файл на отключение ведения журналов событий в windows 10?

    @res2001
    Developer, ex-admin
    Видимо надо отключить службу журналирования (не знаю как она называется в винде). Для работы со службами есть утилита командной строки sc.
    Смотри: sc /?
    Ответ написан
    Комментировать
  • Как для OpenVPN установить исходящий IP (на сервере их несколько)?

    @res2001
    Developer, ex-admin
    В конфиге OpenVPN задайте опцию local - в ней укажите, какой адрес будет слушать OpenVPN для приема входящих подключений.
    По умолчанию слушает все адреса.
    Ответ написан
  • Как устроен list() в Python?

    @res2001
    Developer, ex-admin
    Когда вы программируете на питоне не важно как реализован список внутри, главное, чтобы он выполнял то, что от него требуется.
    Он вполне мог бы быть реализован и как связный списк. Такая реализация не отменяет операцию взятия элемента по индексу.
    Взятие элемента по индексу в питоне, это совсем не взятие элемента по индексу в массиве Си.
    Все операции в питоне (в т.ч. и взятие элемента по индексу) просто вызывают соответствующие функции обработчики. В функциях может быть какая угодно логика от Сишного взятия элемента по индексу, до прохождения списка до нужного элемента и т.п.
    Реализация каждого типа в питоне заполняет структуру указателей на функции, реализующих питоновские операции для этого типа. Вы выйдите на эту структуру, если дальше продолжите раскопки PyObject_VAR_HEAD.

    PS: Ваши выводы, основанные на структуре питоновского списка, верны.
    Для студента 1 курса очень не плохо!
    Ответ написан
    Комментировать
  • Как написать батник, который удаляет файлы, в которых есть строка с заданным содержимым в заданной директории?

    @res2001
    Developer, ex-admin
    Примерно так:
    @echo off
    chcp 1251 1>nul
    set "find_str=search string"
    set "search_dir=c:\temp"
    for %%a in (%search_dir%) do (
       findstr /C:"%find_str%" "%%~a" 1>nul 2>&1 && del /f /q "%%~a"
    )

    Батник обходит все файлы в каталоге заданном search_dir, в каждом файле ищет строку, содержащуюся в find_str, если строка найдена, удаляет файл.
    Батник не тестировал. Для начала потренируйтесь на тестовых файлах.
    Текст в файлах должен быть в кодировке cp1251. Если текст поиска английский, то кодировка в принципе не так важна.
    Ответ написан
    Комментировать
  • Как починить отображаемую кодировку в терминале?

    @res2001
    Developer, ex-admin
    Надо выставить в XShell кодировку UTF8.
    Ответ написан
    1 комментарий
  • Можно ли просматривать список посещенных сайтов и действия пользователя, если использовать в компании OpenVPN?

    @res2001
    Developer, ex-admin
    Любые ВПН вообще и OpenVPN в частности не имеют отношения к вашим хотелкам. Вы можете делать это с ВПН или делать без ВПН - как угодно. Для этого используется другое ПО никак не связанное с ВПН. Оно работает на уровне выше, чем работает ВПН.
    Ответ написан
    Комментировать
  • Правильно ли выполнила разбивку на подсети сеть 172.16.10.0 /23 с емкостью 80 хостов?

    @res2001
    Developer, ex-admin
    Не правильно! Вы же видите какие диапазоны адресов вам предлагаются, в них максимум 16 адресов в каждой подсети. А вам нужно 80.
    Т.к. ровно 80 адресов в подсети получить не возможно, то нужно брать минимально допустимое число большее 80 - это 128. Для 128 узлов маска подсети будет /25 (255.255.255.128).
    Из исходного диапазона с маской /23 можно выделить только 4 подсети с маской /25:
    172.16.10.0 - 172.16.10.127
    172.16.10.128 - 172.16.10.255
    172.16.11.0 - 172.16.11.127
    172.16.11.128 - 172.16.11.255
    Ответ написан
    Комментировать
  • Как быть в Windows с папками с символами "?" в названии?

    @res2001
    Developer, ex-admin
    Нельзя. Символ ? является специальным и запрещен к использованию в NTFS: https://docs.microsoft.com/en-us/windows/win32/fil...
    Ответ написан
    5 комментариев
  • Не получается настроить rEFInd для загрузки ядра GNU/Linux. Как исправить?

    @res2001
    Developer, ex-admin
    Ядро - /boot/vmlinuz-linuz

    Error: Not found while loading vmlinuz-linux

    Сравните имена файлов
    Ответ написан
  • Windows загрузилась в исходном состоянии. Как понять причину?

    @res2001
    Developer, ex-admin
    Такое могло произойти, если система по каким-то причинам не смогла найти/создать профиль пользователя. Тогда винда создает временный профиль, который после выхода из системы будет удален.
    Если после перезагрузки профиль оказывается на месте, то винда, конечно, загрузит его.
    Чтоб узнать из какого каталога загружен профиль в командной строке винды введите команду:
    set USERPROFILE
    В нормально режиме вам выведется путь типа такого: C:\Users\<имя пользователя>
    При работе во временном профиле путь будет выглядеть примерно так: C:\Windows\Temp\<имя пользователя>
    Ответ написан
    5 комментариев
  • Как опредлить столбец по которому сортируется список в top (Linux)?

    @res2001
    Developer, ex-admin
    Нажми 'f', там в заголовке будет написано. Тут же можно выбрать столбец и нажать 's', чтоб сменить столбец сортировки явно.
    Про f можно почитать в общей справке ('?'), про s написано, когда нажмешь f
    Ответ написан
    Комментировать