Задать вопрос
  • Почему при выделении динамической памяти она не выделяеться и странно работает?

    @Furax
    Ваш вопрос не по C++, а по C, это разные языки.

    sizeof(buffer) в функции create_filestream() вернёт размер указателя (4 или 8 байт), а не размер буфера buffer из функции main, т. к. функция create_filestream про него ничего не знает. Скорее всего, это не то, чего Вы хотите.

    Строка "if(*ptext = (char**)realloc(*ptext, sizeof(*ptext) + sizeof(char**)))", по-видимому, должна к текущему размеру данных, ассоциированных с *ptext, добавлять размер ещё одного указателя. По факту sizeof(*ptext) - это размер char**, т. е. размер указателя, т. е. у Вас всегда будет здесь или 8 байт (сумма размеров двух указателей на 32-битной платформе), или 16 (на 64-битной). Получить размер массива, который в данный момент ассоциирован с указателем, оператором sizeof() нельзя и в общем случае вообще нельзя, его нужно хранить отдельно.

    Перечитайте внимательно главу про обращение с указателями. Пока у Вас каша, которая вряд ли будет работать ожидаемым образом. Нужно чётко понимать, что такое char*, char**, char***, sizeof(ptext), sizeof(*ptext) и т. д.
    Ответ написан
    Комментировать
  • USB концентратор UGREEN CM639 проигрывает(транслирует) музыку?

    15432
    @15432
    Системный программист ^_^
    Похоже, вы поймали радио на ваш концентратор. Это безопасно и не расходует трафик. Перехватывать данные может любое устройство, но это явно не ваш случай и к теме не относится. Как достоверно от этого избавиться, честно говоря, идей нет. Можно попробовать подключить в другой разъем, заземлить ноутбук, использовать фильтр, заменить кабель RJ-45 и т.д.
    Больше шансов если купить специальный фильтр USB питания и питать колонки через него, я так избавился от статического шума, но где купить адекватный фильтр для развязки 5в питания, тоже не знаю
    Ответ написан
    1 комментарий
  • Раздвоение интернет кабеля провайдера. Можно ли разделить интернет кабель провайдера на два разных WI-FI роутера?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Протянуть кабель от второго дома до первого и разместить в нём второй роутер в режиме стандартного ретранслятора/свитча, а кабель в первом доме подключив кабель в первый, основной роутер.
    Кабель провайдера -> Роутер 1 в доме 2 -> Свой кабель между домами -> Роутер 2 в доме 1

    Протягивать кабель лучше всего под землёй в стандартной ПНД трубе - 30 метров всего ничего. Глубины достаточно на два-три штыка лопатой и желательно хоть немного песочком присыпать - как снизу так и сверху. Легко за день копается в неспешном темпе, если грунт не каменистый или не глина, конечно же.
    Ответ написан
    3 комментария
  • Можно ли использовать роутер без антенн?

    @Alexeistudio
    продаются недорогие sma терминаторы или эквивалентная нагрузка для sma разъёма. Чтобы не паять а прикрутить готовое и аккуратное решение, защищенном на случай ошибки настройки.
    Ответ написан
    1 комментарий
  • Почему предел равен этому значению?

    Alexandroppolus
    @Alexandroppolus
    кодир
    это ведь при n, стремящемся к бесконечности?

    выражение сверху надо привести к общему знаменателю, а n^(q+1) перекинуть наверх, ну а (n+1)^q развернуть по биному Ньютона:

    (1/n^q - 1/(n+1)^q) / (1/n^(q+1)) =

    = ( ((n+1)^q - n^q) / (n^q * (n+1)^q) ) * n^(q+1) =

    = ((n+1)^q - n^q) * n / (n+1)^q =

    = (n^q + q * n^(q-1) + ... - n^q) * n / (n+1)^q =

    = (q * n^(q-1) + ... ) * n / (n+1)^q =

    = (q * n^q + ... ) / (n^q + ...)

    на месте многоточий тут слагаемые, у которых n в меньшей степени, чем q, и если n стремится к бесконечности, то их можно считать незначительными по сравнению с n^q

    вот и остается q * n^q / n^q , которое сокращается до q
    Ответ написан
    Комментировать
  • Может ли выключатель не полностью проводить электрический ток?

    @rPman
    Срочно менять!
    Если искрит и шумит значит есть шанс возгорания.
    Ответ написан
    Комментировать
  • Совпадают ли характеристики этих двух переключателей?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Вашу проблему легче всего было бы решить, имея два даташита - на старый вариант переключателя и на новый. Далее, сравнив их, вы бы сразу увидели, есть ли разница.
    Даташит переключателя 704.900.3 удалось найти легко, элементарным гуглением, но какой он версии, на нём не обозначено. Скорее всего, это последняя версия. Но и не имея старой версии, из одной только новой можно извлечь многое. Например, главный предмет вашего беспокойства (380 вольт) гораздо меньше, чем указанное в качестве предельного рабочее напряжение (500 вольт на переменном токе до 10 ампер). Точно так же можно рассмотреть и остальные беспокоящие характеристики.
    По-моему, отсюда следует вывод - менять старый на новый можно.
    Ответ написан
    Комментировать
  • Имеет ли смысл арендовать сервер/vps/vds/etc для учебы в 2025году?

    nero211
    @nero211
    Смотря для чего. Судя по вашему описанию достаточно будет просто запустить какую-нибудь ось в vitualbox.

    На компе есть игры. Значит пара свободных гиг оперативы и несколько потоков процессора найдется.
    Ответ написан
    Комментировать
  • Как подключиться к разъёму с шагом 0,4 мм?

    15432
    @15432
    Системный программист ^_^
    Пого вечно будут неконтачить, отходить, замыкать. Имеет смысл только если сделать оснастку исключительно под этот разьем и нужно постоянно подключаться к разным устройствам. Я б припаялся лакированными проволочками к контактам. Или, если не нужно, чтобы ответная часть была вставлена, развести плату с таким "папой", и к ней уже проводками
    Ответ написан
    1 комментарий
  • Можно ли залить эпоксидкой литиевый аккумулятор?

    Cyl
    @Cyl
    HW Инженер
    Перед заливкой поместите его в чехол из 5 мм поролона, во время эксплуатации важно соблюдать температурные нормы окружающей среды, подводимой нагрузки и режимов заряда (при необходимости) ;)
    Ответ написан
    Комментировать
  • Какой оптический кабель обычно используют провайдеры интернета?

    @Drno
    Правильно Вам посоветовали насчет ПНД трубы... и трос-протяжку внутрь сделайте. дальше монтажники сами разберутся
    Ответ написан
  • Почему функция непрерывная?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Функция задана кусочно, да. Но все куски в точках на границах совпадают и разрывов там нет. Функция не гладкая, но все еще непрерывная.
    Ответ написан
    Комментировать
  • Как подтвердить что клиент подписал PDF, который я ему отправил?

    @SunTechnik
    1. Предварительно подписывать документ самому. После получения проверять кооректность всех подписей.

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Потому что пирометрический клин - это зелёное стекло обладающее разными оптическими характеристиками в соотношении частей спектра пропускаемого света в зависимости от толщины. А тепловизор - это детектор инфракрасного света и конвертер его в видимый спектр. Инфракрасный спектр лежит за пределами видимого спектра излучения. И зелёное стекло к конвертации из инфракрасного в видимый спектр не имеет никакого отношения. Достаточно посмотреть через зелёное стекло ночью - видимость лучше не станет. Суть же использования пирометрического клина в том, что раскалённый предмет излучает свет с определённой интенсивностью, которая зависит от температуры, а в зелёном стекле красный свет и зелёный свет затухают с разной интенсивностью. Пара секунд гугления: Наука и жизнь 1967 № 5 - первая же ссылка. Надеюсь, полное объяснение механизма работы клина самостоятельно сможете прочитать?
    Ответ написан
    Комментировать
  • Пришёл ответ от РКН по недоступности домена www.postfix.org. Как понять ответ?

    @Drno
    У РКН в данный момент могут быть любые основания, им дали полный картБланш блокировать что угодно без суда и разбирательств
    Ответ написан
  • Почему для добавления единичного бита используется именно 0x80?

    Daemon23RUS
    @Daemon23RUS
    (unsigned char) это аж целых 8 !!! бит а 0x80 в битовом представлении = 10000000
    Т.е 1 еденичка и все нули.
    Ответ написан
    Комментировать
  • Кто подскажет побыстрее у меня есть 2 четырехжильных провода как мне в цветах не запутаться ну то есть какой цвет к какому конектица?

    @alexalexes
    Обычно, USB клавы обратно совместимы с разъемом PS/2 - даже переходники есть (или можно напрямую впаять).
    А вот чип клавы PS/2 ничего не знает от протоколе USB, так что вас может выручить только конвертер PS/2 на USB, типа такого.
    PS: У некоторых конвертеров есть глюк - они некорректно имитируют долгое нажатие клавиш, поэтому можно получить эффект залипания на клаве или телепортации мыши в угол экрана, если используется PS/2 мышь.
    Ответ написан
    Комментировать
  • Почему не работает программа Ардуино?

    @Vlad0ss_Sh Автор вопроса
    Ocelot получилось решить, подсказку посмотрел в chat gpt. Решил применить switch() case(). millis() использую один раз, потом уже пробегаюсь по состояниям светодиодов. Вот решение. Однако, теперь хз, как использовать цикл для мигания зеленым светодиодом))) Приходится делать нижеприведенные костыли
    // инициализируем пины светодиода
    const int RLED = 11;
    const int YLED = 10;
    const int GLED = 9;
    
    // пин кнопки
    const int BUT = 2;
    
    //режим работы светофора
    int trmode = 0; //будет использоваться в switch case для переключения режима
    
    uint32_t time0 = 5000; //время горения красного сигнала
    uint32_t time1 = 1500; //время горения красного и желтого сигнала
    uint32_t time2 = 3000; //время горения зеленого сигнала
    uint32_t interval = time0; //присвоим по умолчанию интервал зеленого света
    uint32_t prev = 0; //изначальное время, присвоим 0. Нужно для вычисления разницы
    
    boolean lastBUT = LOW; //переменная хранит предыдущее состояние кнопки
    boolean currentBUT = LOW; //переменная хранит текущее состояние кнопки
    
    //для мигания зеленым светом
    //boolean gFlag = false;
    uint32_t timeblk = 500; //период мигания светодиодом
    //int counter = 0;
    
    int ledin = 1; //состояние светодиода (вкл, выкл)
    
    
    void setup() 
    {
      pinMode(BUT, INPUT);
      pinMode(RLED, OUTPUT);
      pinMode(YLED, OUTPUT);
      pinMode(GLED, OUTPUT);
      digitalWrite(RLED, HIGH); //красный по умолчанию
    
    }
    /*
    * Функция сглаживания дребезга
    * принимает в качестве аргумента предыдущее состояние конпки
    * и выдает фактическое
    */
    
    boolean debounce(boolean last) //задаем функцию, которая принимает только логическую переменную boolean last (последнее состояние кнопки)
    {
      boolean current = digitalRead(BUT); //читаем конпку
      if (last != current) //сравниваем состояние, если отличаются, то...
      {
        delay(10); //ждем 10 мс
        current = digitalRead(BUT); //читаем кнопку еще раз
        return current; //возвращаем состояние кнопки
      }
    }
    
    
    void trLight(int mode)
    {
      if (ledin == 1)
      {
        if (millis() - prev >= interval) //вычисляем разницу и сравниваем с заданным интервалом
        {
          prev = millis();
          switch(trmode)
          {
            case 0: //выключаем зеленый, включаем красный
              digitalWrite(GLED, LOW);
              digitalWrite(RLED, HIGH);
              interval = time0;
              trmode = 1; //смотрим случай 1
              break;
            case 1: //подключаем желтый
              digitalWrite(YLED, HIGH);
              interval = time1;
              trmode = 2; //смотрим случай 2
              break;
            case 2: //включаем зеленый
              digitalWrite(YLED, LOW);
              digitalWrite(RLED, LOW);
              digitalWrite(GLED, HIGH);
              interval = time2;
              trmode = 3; //смотрим случай 3
              break;
            case 3: //гасим на время переменной timeblk
              digitalWrite(GLED, LOW);
              interval = timeblk;
              trmode = 4;
              break;
            case 4: //включаем на время переменной timeblk
              digitalWrite(GLED, HIGH);
              interval = timeblk;
              trmode = 5;
              break;
            case 5: //гасим на время переменной timeblk
              digitalWrite(GLED, LOW);
              interval = timeblk;
              trmode = 6;
              break;
            case 6: //включаем на время переменной timeblk
              digitalWrite(GLED, HIGH);
              interval = timeblk;
              trmode = 7;
              break;
            case 7: //включаем на время переменной timeblk
              digitalWrite(GLED, LOW);
              interval = timeblk;
              trmode = 0;
              break;
          }
        }
      }
    
      else
      {
        digitalWrite(RLED, LOW);
        digitalWrite(GLED, LOW);
        digitalWrite(YLED, LOW);
      }
    }
    
    void loop() 
    {
      currentBUT = debounce(lastBUT); //вызываем функцию антидребезга кнопки
      if (lastBUT == LOW && currentBUT == HIGH)
      {
        ledin =! ledin;
      }
      lastBUT = currentBUT;
      trLight(ledin);
    
    }
    Ответ написан
    1 комментарий
  • Как сделать переключение между тремя фазами при слабом токе?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Похоже что для вашей задачи подойдет Реле выбора фаз.
    Например вот: https://www.ozon.ru/product/rele-vybora-faz-s-disp...
    Ответ написан
    3 комментария
  • Подходит для светодиода ребристый радиатор?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если он подходит по размерам и ТТХ - то вполне можно, почему нет-то?
    Ответ написан
    Комментировать