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

    @MarkusD Куратор тега C++
    Ternick, разница кардинальна. Я пока не представляю как ты будешь обрабатывать формат картинки двухбайтовыми, а не байтами. Особенно учитывая нетривиальность самого формата BMP.
    Я придерживаюсь мнения, что код должен сам собой раскрывать свой смысл. Если тип данных char, то это строка в ASCII. Если тип - wchar_t, то это строка в UTF-16/UCS2. Если буфер должен содержать сырые произвольные данные, то его тип будет std::byte.
    Блок виртуальной памяти по своему смыслу должен нести свою длину. Или это будет std::vector, или - std::array, или - std::span. Иначе это будет бессмысленный блок памяти, в который требуется внести смысл - т.е. переписать на осмысленный код.

    Тебе стоит показать код, которым ты выделяешь память читаешь туда изображение.

    как отправить post запросом картинку или любой другой файл через wininet

    По этому не подскажу. WinInet мне трогать не доводилось. Но документации с примерами должно быть достаточно.
  • Как получить длину массива wchar_t?

    @MarkusD Куратор тега C++
    Ternick, почему в качестве единицы данных для буфера выбран wchar_t?
  • Где ошибка при численном решении уравнения?

    @MarkusD Куратор тега C++
    Андрей, n надо настолько иначе инициализировать, что переписать надо вообще весь этот код.
    Армянское Радио тебя ведь уже попросил словами объяснить свое решение. По твоим словам уже можно будет подумать о том, как лучше подсказать тебе по написанию твоего кода.
    Текущий код стоит просто выкинуть.
  • Где ошибка при численном решении уравнения?

    @MarkusD Куратор тега C++
    Андрей, double h = 1 / n; будет или 0, или 1.
    Т.к. n не инициализирована и содержит мусор, а деление тут целочисленное, 1 в результате этого деления получится только тогда, когда n по воле электронного случая будет содержать 1.
    Все остальные вычисления после этой строки можно выбросить. на этой строке происходит некое таинство, эффект от влияния которого испортит все вычисления.
    Иногда тут еще будет вылетать Division by Zero, когда n по воле электронного случая будет содержать 0.

    double U[n], A[n] , B[n], C[n];
    В C++ так нельзя. Это ошибка. В C99 это VLA и т.к. в n у тебя мусор, твоя программа имеет все шансы с разбегу получить Stack Overflow в любом из запусков.

    x[n] = 100;
    Это Buffer Overrun. Тут ты прописался мимо массива x и залез куда-то в другую переменную. Скорее всего в C[0].
  • Где ошибка при численном решении уравнения?

    @MarkusD Куратор тега C++
    Андрей, это объявление n без инициализации. После объявления значение n будет случайным.
  • Как заменить несколько символов начиная с определённого (символа) в файле?

    @MarkusD Куратор тега C++
    vjufvufcgyf, попробуй представить себе этот процесс.

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

    Или ты хочешь узнать как пользоваться низкоуровневыми функциями драйвера ФС и работать с ФС напрямую, на том уровне, где понятия файлов и папок уже кардинально размыты на фоне монолитного пространства конкретного ПЗУ?
  • Как создать компоратор для вектора структур?

    @MarkusD Куратор тега C++
    Документация на qsort говорит что компаратор должен иметь следующую сигнатуру:
    int cmp(const void *a, const void *b);
    Сигнатура твоего компаратора не соответствует требуемой. Это не компаратор для qsort.

    Компаратор для qsort должен дать ответ в троичном представлении, т.е. одно из значений: -1 если left меньше right, 0 если left и right эквивалентны, 1 если left больше right.
    Компаратор выполняется относительно левого и правого аргумента, соответственно.
    bool позволяет только бинарное представление. Применение типа bool здесь - это ошибка.
    Или мой совет для тебя все-таки оказался по теме, но ты решил этого не говорить? :)

    Передача параметров по значению приводит к большой избыточности. Ты пишешь что выполняешь задания на C++ когда важна производительность, однако такой сигнатурой компаратора ты производительность губишь.
    Передача должна быть по константной ссылке.

    Почему я советовал тебе std::sort. Использование этой функции заставит тебя написать компаратор правильно:
    const bool cmp( const s& left, const s& right )
    {
    	if( left.bali != right.bali )
    	{
    		return left.bali > right.bali;
    	}
    	
    	return left.name < right.name;
    }
  • Как создать компоратор для вектора структур?

    @MarkusD Куратор тега C++
    ResistanceJkee, да нет, мои рекомендации по теме и пойдут твоему образовательному процессу только на пользу.
    заранее говорю

    Да нет, ты говоришь уже опосля. :)
    Компоратор я сам уже написал

    Да нет, тоже не уже, а спустя 10 часов и спустя 6 часов после важного для тебя ответа.

    Ну и теперь давай перейдем к твоему компаратору...
  • Как всторить DLL в исполняемый файл?

    @MarkusD Куратор тега C++
    15432, а может все-таки посоветовать товарищу старую добрую и простую статическую линковку с vc runtime?
    Как-то больно сложно ответ выглядит.
  • Как передать значение по API С#?

    Алексей , какое отношение к вопросу имеет тег C++?
  • Как создать компоратор для вектора структур?

    @MarkusD Куратор тега C++
    Максим , первое, не стоит привыкать к using namespace std[1][2][3]. Рекомендую открутить это прямо сейчас и учиться сразу писать более качественный код.
    Ты не тот qsort используешь, использовать стоит std::sort[?]. Использование этой функции форсирует тебя написать правильную сигнатуру функции сравнения.
  • Как вырезать из файла несколько символов с разным индексом?

    @MarkusD Куратор тега C++
    vjufvufcgyf, хорошо, вот названия функций и примеры.
    Лучше положить в закладки. Инженер всегда должен иметь документацию под рукой.
  • Как вырезать из файла несколько символов с разным индексом?

    @MarkusD Куратор тега C++
    vjufvufcgyf, выходит, ты хочешь чтобы код написали за тебя?
    Тогда тебе следует обратиться к специалистам.

    Прошу обратить повторное внимание на П5.12 регламента работы сервиса. Задачи и задания размещать запрещено.
  • Как вырезать из файла несколько символов с разным индексом?

    @MarkusD Куратор тега C++
    vjufvufcgyf , покажи свой код, которым ты уже пытался решить свой вопрос.
  • Какие языки совместимы с C++?

    @MarkusD Куратор тега C++
    LukiverPapka, например, клиент World Of Tanks реализован с разделением на два уровня: нижний уровень реализован на C++, а вся игровая логика - на питоне.
    Например, клиент EVE Online реализован с разделением на два уровня: нижний - на C++, верхний - на питоне.
  • Какие языки совместимы с C++?

    @MarkusD Куратор тега C++
    VadimKholodilo , и что же там можно почитать о кросс-языковой компоновке, подскажешь?
  • Из-за чего может отличаться вывод на с++ и python?

    @MarkusD Куратор тега C++
    Андрей , П5.7 регламента работы сервиса. Использовать ссылки на малоизвестные ресурсы в вопросе запрещено.
    П3.8 - код следует публиковать в теге <code>.
    П3.9 - для вставки изображений следует использовать тег <img>
  • А вы правда умеете программировать?

    qwerty12345123456789, давай вот сразу с терминами разберемся.
    Computer Program - правильно составленная последовательность инструкций, которую может выполнить некоторый процессор инструкций чтобы получить результат.
    Computer Programming - процесс составления компьютерной программы с целью получения некоторого результата.
    Programmer - человек, занимающийся составлением компьютерных программ.
    Это - базовая терминология, от которой можно двигаться дальше.

    Иными словами, задавая свой вопрос, ты спрашиваешь: действительно ли люди умеют писать слова компьютерных программ?
    Да, умеют. Это крайне просто. В 50х годах XX века это было под силу даже студенткам средних курсов ВУЗов. Перебить несколько слов в последовательность опкодов процессора - это тривиально. И в этом суть написания программ.
    В словесной или схематической форме программы подготавливают инженеры. Суть работы инженера состоит в правильной формулировке блоков программы, чтобы программа была правильной для целевого процессора и чтобы программа выполняла поставленную задачу.
    Это всегда достигалось через постоянную сверку написанного текста с целым набором документов. Для своей работы инженер в любой области всегда сверяется с документами из своей области. Инженер создает алгоритм уже решенной задачи, в этом суть его работы. Умение решать задачи - это тоже навык, который поддается тренировке. Решенную задачу инженеру передает представитель предметной области. Либо это будет аналитик по алгоритмам, либо это будет научный сотрудник непосредственно из предметной области. Постановка задачи происходит тоже в предметной области.

    Сегодня эта модель изменилась не так сильно. Просто люди стали немного шире специализированными, а часть человеческого труда заменила автоматизация. Сегодня решать задачи должен уметь уже сам инженер. На аналитиках сегодня экономят. Необходимость всегда сверяться с документацией у инженера никуда не делась. Документация языка, документация используемых библиотек, документация целевых аппаратных решений всегда должна быть под рукой. Контекстная справка и автоподстановка среды разработки сильно облегчают работу с документацией.

    Целевой процессор языка сегодня, на котором ты пишешь, это транслятор кода. Это для него ты пишешь программу. Ты пишешь код чтобы получить результат в виде программы на бинарных кодах. Транслятор читает твой текст и составляет оптимальную последовательность опкодов для целевого процессора следующего уровня. Таким образом автоматизация взяла на себя суть действительного написания программы.
    Задача инженера-программиста сегодня - это в терминах языка высокого уровня объяснить целевому процессору, другим инженерам и себе самому, какую задачу должен решать целевой процессор во время исполнения программы.