Задать вопрос
  • Отформатированная под macOS флешка не видится в Win 8.1 но видится в Windows 10. Как заставить Win 8.1 работать с этой флешкой?

    @res2001
    Sergei Nazarenko, Да, точно, не заметил. Сори.
    Не ясно только нафига на флэшке GPT, но макоси, конечно, виднее.
  • Где здесь путаница?

    @res2001
    im_noob, Писал выше:
    В какой переменной указатель на сформированную строку в функции InputSymbol? Вот ее и выводи.
  • Где здесь путаница?

    @res2001
    im_noob, Евгений Шатунов писал, что надо вывод строки делать внутри самой функции InputSymbol, до вызова free, а не в main, т.к. там память, занимаемая строкой, уже освобождена.
    Ну и кроме того в main нету Stri писал об этом выше, а s у вас не модифицируется, так что выводит правильно. Выводить надо там где модифицированная строка еще существует!
  • DNS Как исправить ошибку петлевого IP при одном DNS?

    @res2001
    Зачем вам вообще тут указывать localhost? У вас уже указан адрес сетевого адаптера этого же сервера. Этого вполне достаточно.
  • Отформатированная под macOS флешка не видится в Win 8.1 но видится в Windows 10. Как заставить Win 8.1 работать с этой флешкой?

    @res2001
    Sergei Nazarenko, Работать с двумя разделами винда вполне может. Только она монтирует по умолчанию только первый раздел из MBR. Иногда этим пользуются - делают "скрытые" разделы. В BOOTICE для этого даже помнится была специальная кнопка - она просто меняет местами разделы в MBR, данные при этом не теряются.
    Вам никто не мешает назначить букву диска на раздел вручную в менеджере дисков или в diskpart.
  • Где здесь путаница?

    @res2001
    im_noob, Возьми несколько строк разной длины (четной и нечетной).
    Напиши на бумаге. Потом напиши уже модифицированные строки с добавлением символов. Посчитай количество символов в модифицированной строке. Выведи формулу для вычисления длины модифицированной строки.

    Именно такой длины и выделяй память для модифицированной строки. Не забудь добавить еще один символ под завершающий ноль.
  • Где здесь путаница?

    @res2001
    im_noob,
    не видит

    Ну дык в mainе и нет никакого Stri, там есть s.
    Где puts? И почему puts(InputSymbol)?
    В какой переменной указатель на сформированную строку в функции InputSymbol? Вот ее и выводи.
  • Где здесь путаница?

    @res2001
    im_noob, Лишняя закрывающая скобка. Если читать сообщения об ошибках компилятора будет быстрее, чем писать на тостер и ждать ответа :-)
    А где вывод строки собственно?
  • Где здесь путаница?

    @res2001
    im_noob, r[j] = '\0';
    После цикла поставь. Это добавляет нулевой символ и означает конец строки. Без нулевого символа строка будет "бесконечной", точнее пока где-то дальше в памяти не встретится другой нулевой символ (отсюда и мусор в выводе) или пока программа не вылетит из-за обращения к недоступной памяти (этого не случилось в этот раз - повезло).
  • С: Объясните, что не так?

    @res2001
    im_noob,
    там только примеры, всей программы нет

    Вам и не нужна вся программа. Функция Sort() из примера - это и есть реализация сортировки методом пузырька. Только в таком варианте она рассчитана на сортировку массива double, а вам нужно сортировать charы. Просто замените double на char по всей функции и используйте ее, вместо вашей sort_string().
  • С: Объясните, что не так?

    @res2001
    im_noob, хорошо бы внимательно посмотреть на код препода и понять что там делается.
  • С: Объясните, что не так?

    @res2001
    im_noob, В пузырьке вам не нужен второй массив, вы сортируете данные в этом же.
    Просто берите код препода, только double замените на char. В его функции Sort() data - это указатель на сортируемый массив, а n - размер массива (у вас это будет strlen(word)).
  • С: Объясните, что не так?

    @res2001
    im_noob, Ваш вариант сортировки он, конечно, рабочий, но сильно далек от оптимального. Пузырек, то же нельзя назвать оптимальным, но уже лучше, хотя бы тем, что не требует дополнительной памяти.
    На счет обработки ошибок - функция malloc может вернуть вам нулевой указатель, в этом случае ваша программа вылетит по SIGFAULTу - обращение к не выделенной памяти, когда начнет писать по нулевому указателю. Обработка простая - обычно достаточно проверить указатель на равенство NULL после вызова malloc. Если указатель NULL - напечатать ошибку и корректно завершить программу.
    Но если переделать сортировку на пузырек, эта ошибка уйдет, т.к. не будет вызова malloc.

    Вообще обычно любая системная (или библиотечная) функция может завершиться не удачно. Обработку ошибок необходимо делать.
  • С: Объясните, что не так?

    @res2001
    im_noob, В его примере - сортировка пузырьком. Может он намекает, что надо вот так сортировать. Ну и сортируйте как он хочет. К тому же это будет сортировка на месте, без дополнительной памяти. И работать она будет быстрее, чем ваш вариант.
    Но не понятно при чем тут puts.
  • Почему программа крашится, когда использую map?

    @res2001
    Как уже писали в ответах - сама структура в норме.
    Крашится не структура, а код, который ее использует. Вот его и надо смотреть.
    Запусти программу под отладчиком без точек останова, в момент сбоя отладчик перехватит управление и покажет участок кода, в котором произошла ошибка. Участок кода может быть не твой, а библиотечный или системный вызов, надо подняться по стеку вызовов до последнего твоего кода. Тут будет видно где произошла ошибка в твоем коде, тут же можно будет посмотреть значения переменных на момент падения и т.п. Возможно и решение сразу же найдется, но не факт, конечно.
  • VPN с большим количеством IP-адресов из РФ?

    @res2001
    Обычно ВПН серверу достаточно одного внешнего адреса. Но, конечно, задачи могут быть разные.
    Зачем вам максимальное количество? Максимальное количество это сколько?
  • Сколькибитный пароль считается достаточно сложным, чтобы его не сломало брутфорсом ЦРУ/ФСБ?

    @res2001
    И еще дополню - никто не гарантирует, что в общеизвестных алгоритмах нет backdoor у тех же спец.служб.
    Хотя, конечно, открытость алгоритма способствует тому, что бы его анализировали толпы криптоаналитиков, но и backdoorы в этом случае не лежат на поверхности и их совсем не просто найти.
  • Как из аналогового сигнала получить вольты?

    @res2001
    VT100,
    калибровки не хранятся в АЦП

    Может быть. С теми АЦП, что я имел дело я получал коэффициенты вызовом библиотечной функции (библиотека для работы с АЦП, предоставляется производителем железки). Куда реально лезет функция за коэффициентами я не проверял. Хотя в одном случае библиотека была с открытыми исходниками, так что возможность проверить была.
  • Как двоичный файл в моей программе может изменяться?

    @res2001
    Данные в файле бинарной матрицы заменятся не могут, т.к. не в функции Verbose_b() не в Verbose() нет операций записи в файл. Содержимое файла вы можете проверить вне программы, вставив в нужных местах программы паузы, а вне программы посчитав контрольные суммы файла.
    Из подозрительного:
    1. В Verbose_b() нет нужды после каждого чтения делать fseek(), т.к. fread сам передвигает указатель на прочитанное количество байт. Сейчас же у вас получается, что fread передвинул указатель, а потом вы его еще fseekом передвинули. Если у вас при этом вывод правильный, то какова структура файла? Получается, кроме самих значений data вы туда еще что-то пишете. Что?
    2. В Verbose() похоже что тут у вас в нескольких местах возможно обращение по нулевому указателю. Условие циклов не корректно: условие нужно делать как while(m1 != NULL), внутри цикла сразу выводите текущий элемент, затем подцикл по right с таким же условием (смотрите, чтоб текущий элемент не выводился дважды), после подцикла переключаетесь на следующий down элемент.