• Как решить задачу с массивом NxN?

    @res2001
    Developer, ex-admin
    0.Оформление кода жуткое, не читабельно совсем.
    1.Выделяйте память сразу для всего массива размером b*c - не зачем дробить каждую строку. Обычно динамическое выделение памяти достаточно дорогостоящая процедура (сейчас то вам это не принципиально).
    2.Забудьте про оператор goto. Единственное место, где его оправданно использовать это выход из глубоких вложенных if или циклов, но даже это можно решить другими способами, правда обычно более затратно, чем goto. В данном случае у вас он используется правильно, но ведь есть break для вашего случая, а это гораздо лучше, чем goto.
    3.В общем и целом у вас почти все верно. Но:
    Строка 80 явно лишняя:
    int g[i];
    Т.к. вы объявляете g[] выше. И кстати выше (в 71 строке) объявляете его не правильно, т.к. переменной e не присвоено никакое значение к моменту ее использования.
    4.В последнем цикле вы видимо пытались сделать сортировку - не получилось. Попробуйте еще раз. И нужно сначала отсортировать, а потом вывести. По другому не получится.
    Возможно вам придется сделать g[] не массивом intов, а массивом структур, где в каждой структуре будет содержаться "сумма четных отрицательных элементов каждой строки" и в другом элементе структуры - индекс строки. Сортировать нужно будет массив структур по сумме.
    5.Про остальное писать не буду, т.к. на решение задачи не влияет.

    Желаю удачи!
    Ответ написан
    6 комментариев
  • Что изучать для написания своего кроссплатформенного приложения?

    @res2001
    Developer, ex-admin
    Stdlib, boost, Qt
    Ответ написан
    Комментировать
  • Почему ошибки красные в статусе MariaDB?

    @res2001
    Developer, ex-admin
    Смотрите на содержание, а не на цвет.
    Видели когда-нибудь "синий экран смерти" в винде - там вполне приличным белым по синему обычно написана информация о крахе системы.
    Ответ написан
    Комментировать
  • Как расставить скобки в выражении всеми возможными способами? какова сложность оптимального алгоритма?

    @res2001
    Developer, ex-admin
    Для вашего случая результаты выражения будут различаться от варианта без скобок, только если меняется приоритет операций. Т.е. (1+2)-(3*4) - не дает уникального результата, а (1+2-3)*4 - дает.
    Итого - надо ставить закрывающую скобку перед знаком * или /, а открывающую скобку перед каждой предыдущей операцией.
    Кроме того - когда расставите скобки, нужно брать выражение в скобках и рекурсивно прогонять его по алгоритму, таким образом расставите и вложенные скобки до тех пор пока внутри скобок не окажется простое выражение типа a+b, где уже ничего не поставить.
    Ответ написан
    Комментировать
  • Как в FreeBSD вывести подключенные IP?

    @res2001
    Developer, ex-admin
    Не очень понятен вопрос, но, возможно, ifconfig вам поможет.
    Ответ написан
    Комментировать
  • Как написать скрипт?

    @res2001
    Developer, ex-admin
    Тут основная проблема не "в пройти рекурсивно", а как вычислить файлы за прошлый месяц.
    На похожий вопрос отвечал недавно тут.
    Для вычисления файлов на удаление воспользуйтесь этим советом, в вашем случае N будет 30 или 31. Но если нужно именно за прошлый месяц, а не N дней назад, то уже будет сложнее.

    На счет пройти рекурсивно - очень просто:
    for /f "tokens=* delims=" %%a in ('dir /s /b /ad "Один" "Два" ') do (
    echo.%%~a
    dir %%~a\*
    )
    Ответ написан
    Комментировать
  • Как организовать обновление юзеров LDAP на лету в squid?

    @res2001
    Developer, ex-admin
    Измените значение ttl. Сейчас у вас кэшируются ответы на 1 час (3600 сек.).
    Ответ написан
    1 комментарий
  • TCP/IP: что делать, если в процессе чтения сервером пакета от клиента пропадает интернет?

    @res2001
    Developer, ex-admin
    В общем целиком поддерживаю Smithson и Олег Цилюрик
    Проверяйте коды ошибок, возвращаемые методами передачи/приема. При работе с сетью всегда нужно закладываться на то, что передача или прием пройдет с ошибкой или будут приняты/переданы не все данные.
    Т.е. фактически вы должны писать программу исходя из того что ошибки приема/передачи не то что возможны, а они точно будут всегда.
    И да, кастомные keep-alive для TCP - это полная фигня - в протоколе уже все реализовано.
    Ответ написан
    5 комментариев
  • Как пересоздать профиль RDP (2012R2)?

    @res2001
    Developer, ex-admin
    Причина скорее всего в том что диск/каталог где лежит профиль пользователя не доступен или нет прав. Еще как вариант - в профиле сломался реестр пользователя, но в этом случае винда обычно пытается его починить.
    Посмотреть где лежат локальные профили пользователей можно тут:
    HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectory
    Обычно это c:\Users, но могут быть и другие варианты. Права на этот каталог должны быть стандартные - конкретно можно посмотреть на любой нормально работающей машине.
    В ветке реестра HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList найдите подраздел с SIDом проблемного пользователя (так же нужный SID можно определить по параметру ProfileImagePath в котором находится полный путь до профиля пользователя).
    Далее по параметру ProfileImagePath смотрите доступен ли профиль, есть ли у пользователя права на этот каталог.
    Если с виду все нормально, то удалите каталог с профилем пользователя, указанный в его ProfileImagePath (так же можно переименовать, если он вам дорог), а так же удалите целиком раздел с SIDом пользователя из HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList.
    Этими действиями вы полностью удалите профиль и винда при следующем входе пользователя начнет создавать профиль заново.

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

    @res2001
    Developer, ex-admin
    Вам нужен только php или vbs? Почему бы тем же батником не вытащить?

    @echo off
    set "dirin=c:\temp"
    set "findstr=addentry.bat"
    for /f "tokens=1,* delims=:" %%a in ('findstr /c:"%findstr%" "%dirin%\*.cmd" ') do call:workstr %%~b
    goto:eof
    
    :workstr
    shift
    echo.script.cmd  %9
    exit /b

    Примерно так.
    Ответ написан
    Комментировать
  • A disk read error occurred. Шлейф в порядке. Что делать?

    @res2001
    Developer, ex-admin
    Если диск определяется системой то:
    1.снять образ диска (Acronis True Image)
    2.проверить диск (хоть стандартным виндовым chkdsk или любой другой утилитой с этим функционалом)
    Дальше по результатам проверки. Если диск жив - то восстанавливайте разделы.
    Заведите загрузочную флэшку, обычно там уже есть нужный набор софта. Например такую: adminpe.ru
    Ответ написан
    Комментировать
  • Как организовать схему БД?

    @res2001
    Developer, ex-admin
    В таблицу group_menu добавьте поле id_user. Когда меню назначается через группу, то оно будет равно null, если через пользователя - id_group=null. И да, название таблицы уже не будет соответствовать содержанию - можно переименовать. Запрос возвращающий меню потребуется переписать соответственно.
    Ответ написан
    Комментировать
  • Как удалить старые папки с помощью батника?

    @res2001
    Developer, ex-admin
    Команда
    dir /a:d /o:-d /t:w /b %DIRNAME%
    вернет отсортированный по убыванию даты изменения список подкаталогов в заданном каталоге, из этого списка пропускаете первых N записей (N - количество дней за которые хотите оставлять бэкап), остальные удаляете.
    Схематично код будет выглядеть так:
    set "DIRNAME=c:\TEMP"
    set "N=10"
    for /f "usebackq skipto=%N% tokens=* delims=" %%a in ('dir /a:d /o:-d /t:w /b %DIRNAME%') do (
     echo.RD /S /Q "%DIRNAME%\%%~a"
    )

    Код на работоспособность не проверял, но думаю идея должна быть понятна.
    В помощь:
    dir /?
    for /?
    rd /?
    Ответ написан
    4 комментария
  • Как отследить был прочитан файл или нет?

    @res2001
    Developer, ex-admin
    На сервере винда? Если да включите аудит и будете в журнале все видеть.
    Ответ написан
    4 комментария
  • Как скрыть программу в windows?

    @res2001
    Developer, ex-admin
    teamviewer - это по сути VPN с сервером в интернете. Соответственно со стороны сервера вы уязвимы, т.е. если нужно то они получат любую информацию с любого компа подключенного к VPN, а так же с любого, который находится в одной сети с подключенным к VPN.
    Выход - любой альтернативный вариант VPN. Советую OpenVPN.
    К тому же OpenVPN можно не устанавливать в винду, а использовать "портабельную" версию - это поможет скрыться от безопасников (тут зависит больше от политики безопасности, если у вас в конторе совсем параноики - то не поможет и вообще - ничего тогда не поможет, но т.к. вы пользуетесь тимвьевером, то видимо не совсем параноики и шансы есть).
    Для работы VPN без сервера в интернете, хорошо бы дома купить у оператора статический IP адрес, но можно обойтись и настройкой DDNS.
    Ответ написан
  • Как настроить 3 сетевых интерфейса на windows без конфликта основного шлюза?

    @res2001
    Developer, ex-admin
    Вы бы обрисовали схему сети с указанием на ней вашего сервера. Тогда можно было бы более конкретно давать советы.
    Ответ написан
    Комментировать
  • [Erlang] Как правильно запускать сервер из планировщика?

    @res2001
    Developer, ex-admin
    А порты открываются?
    Стартуйте ваш процесс не от LocalSystemа, а от нормального пользователя. Можно завести специального пользователя для него, назначить ему необходимые права.
    Ответ написан
  • Почему отказ в доступе в сети?

    @res2001
    Developer, ex-admin
    Полагаю в этом виноват: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy
    Этот параметр надо сделать равным 1. Если его нет, то создать, тип DWORD.
    Это UAC шалит - операция требует администраторских привилегий, а по сети вы не сможете повысить привилегии.
    Этот параметр позволяет для сетевых взаимодействий отменить UAC, т.е. если вы зарегистрировались с правами администратора по сети, то будете иметь администраторский доступ без необходимости повышать привилегии.
    Ответ написан
    6 комментариев
  • Каков набор утилит для компьютерной помощи?

    @res2001
    Developer, ex-admin
    Я люблю Far Manager - с помощью него чищу временные каталоги, удаляю профиля браузеров. Далее "Программы и компоненты" для удаления не нужного софта. regedit, для проверки веток реестра отвечающих за автозагрузку и чистки от туда всякой нечисти. Оснастка mmc "Управление компьютером" - для просмотра служб и установленных девайсов. Диспетчер задач и монитор ресурсов - для выяснения какой процесс жрет память или ЦПУ.
    Обычно для 85% случаев этого бывает достаточно.
    Более сложные случаи - обычно это уже аппаратные проблемы: memtest и что-нибудь для проверки диска. Для диска подойдет и виндовый проверяльщик. Для подобных целей использую AdminPE - загрузочная флэшка с набором софта.
    А дальше уже - format C: :)
    Ответ написан
    1 комментарий
  • Переопределить operator() для получения доступа к члену класса?

    @res2001
    Developer, ex-admin
    Может вас устроит наследование вашего Window от Graphics?
    Эффект от наследования точно такой какой вы хотите получить другими способами.
    Ответ написан