Задать вопрос
  • Как тут происходит сложение a и b?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Это "сложение" (не сложение) работает только для целых чисел >= 0.

    Если передать в Array одно число, будет создан (будет попытка создания - отрицательные и нецелые числа приведут к ошибке) массив указанной длины. Метод push может принимать несколько значений, а возвращает - новую длину массива, после добавления элементов. Т.е., в массив из трёх элементов добавили ещё четыре, и получили длину.
    Ответ написан
    Комментировать
  • Почему один и тот же код на python и c++ дает разный результат?

    @Mercury13
    Программист на «си с крестами» и не только
    hypot в Си даёт гипотенузу, а a²+b² в змее-питоне — квадрат гипотенузы.
    Ответ написан
    Комментировать
  • Что делать если запускается другой файл, а не тот который нужен в C# .NET?

    @Hanneman
    "Импортировать"... Вы пока настолько в начале пути, что для того, чтобы не задавать таких вопросов, стоит прочитать хотя бы первую главу учебника. Не считайте за иронию, это полезный совет.
    В программе есть "точка входа" - с нее начинается выполнение. С того самого метода Main.
    Насчёт "импортировать" - читаем про экземпляр класса - основу ООП, ярким представителем которого и является C#.

    Я это пишу потому, что решение внизу надо осознать, изучив теорию - понять, что собой представляет данная конструкция (без поправок на static).
    test ts = new test();
    ts.Test();
    Ответ написан
    Комментировать
  • Что не так с наследованием?

    Nipheris
    @Nipheris Куратор тега C++
    Т.к. и базовый класс и класс-наследник являются шаблонными, то компилятор C++ считает, что члены класса mnoj являются так называемыми "зависимыми идентификаторами" (dependent names). Такие идентификаторы по-умолчанию не включаются в процесс разрешения имён и их нужно "затаскивать" в него явно.

    Вариант 1 (советую его): обращаться к полям базового класса через this: this->index - это вообще хорошая практика - сразу видно, где используется локальная переменная, а где идёт работа с состоянием объекта.
    Вариант 2: использовать using mnoj<T>::index; и using mnoj<T>::mas внутри описания класса mnoj1.
    Ответ написан
    3 комментария
  • Как массив объектов превратить в один объект, сложив значения свойств с одинаковыми именами?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const sum = arr => arr
      .flatMap(Object.entries)
      .reduce((acc, [ k, v ]) => (
        acc[k] = acc.hasOwnProperty(k) ? acc[k] + v : v,
        acc
      ), {});
    
    
    const obj = sum(arr);
    Ответ написан
    Комментировать
  • Как отловить ошибку передачи пропса?

    0xD34F
    @0xD34F Куратор тега React
    чем это может быть вызвано?

    Тем, что значение isLoadError меняется только с false на true. Надо его как-то обратно сбрасывать.

    Можно следить за значением src, если изменилось, выставлять false:

    useEffect(() => setIsLoadError(false), [ src ]);

    Другой вариант - в ImagePopup пересоздавать экземпляр компонента Image при изменении данных карточки, указав соответствующий ключ:

    <Image key={card ? card.link : 'hello, world!!'}
    Ответ написан
    1 комментарий
  • Восстановление жестких дисков. Куда обращаться в Москве?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Восстановление жестких дисков. Куда обращаться в Мск?

    Будем рады помочь в Москве: https://rlab.ru/hddrecovery/
    Работаем семь дней в неделю, находимся в центре, одна минута от метро. Также есть курьер. Занимаемся только data recovery с 2002 года, диагностика всегда бесплатная.

    На случай вопросов, в разделе "Контакты" есть полный набор способов связи (в т.ч. для консультаций с нашими инженерами) - от традиционных до соц. сетей и мессенджеров. Основные продублированы у меня в профиле.
    Либо можете писать мне.

    Полистал хабр с грустными историями когда плохие мастера все портят - не хочу так

    Увы, но сейчас это бич отрасли. Шарлатаны-однодневки вешают на свой сайт стоковые фото фармацевтических лабораторий и рассказывают про "восстановление данных от 1500 / 999 / 499 рублей".

    Потом диски после них приносят честным специалистам, в т.ч. нам. Вы всё верно написали - зачастую либо уже ничего не сделать, либо цена совсем не обрадует.
    Стараемся бороться, в рамках этого решили пожертвовать лучший тематический домен в зоне .РФ под памятку о компаниях по восстановлению информации. Москва или другая локация в данном случае не принципиальна - памятка короткая и универсальная.

    какая вилка цен вообще на восстановление данных?

    В честных компаниях стоимость зависит от сложности работ (тяжести повреждений).
    В не очень - от того, как вы одеты, на какой машине приехали, какие часы носите, какой у вас смартфон, что за накопитель принесли, в какой технике он был установлен, какого рода информацию нужно восстановить (личная / корпоративная).

    Для того, чтобы примерно оценить стоимость, нужно знать модель диска, что с ним случилось, что делали после этого, и симптомы.
    Люди обещающие фиксированную сумму, не видя диск, или даже на 100% гарантирующие восстановление заочно, часто обманывают, стараясь заманить вас к себе любыми способами.

    На всякий случай, вот наши цены на восстановление данных. Прайс-лист сделали максимально подробным.
    Оптимальный вариант - это диагностика в специализированной компании. В нормальных она бесплатная. Мы всегда стараемся делать её при клиенте, вы в это время можете, например, попить чай или кофе у нас на диванчике.
    Ответ написан
    Комментировать
  • Как получить цвет пикселя по кординатам на Panel?

    @cicatrix
    было бы большой ошибкой думать
    Получаем картинку панели:
    private static Image PanelToBitmap(Control pnl) {
        var bmp = new Bitmap(pnl.Width, pnl.Height);
        pnl.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
        return bmp;
    }


    Получаем пиксель с картинки:
    Bitmap.GetPixel()
    Ответ написан
    Комментировать
  • Как пересчитать одинаковые элементы в массивах?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Создать объект (словарь) где ключи – элементы массивов, а значения – число, сколько раз встретились.
    const counter = {};
    
    // пройти по массиву, заполняя counter
    arr.forEach((el) => counter[el] = (counter[el] || 0) + 1);

    Получится что-то типа
    {
      555: 1,
      30167380: 2,
      496903611692199: 1,
      245970100361652: 2,
      711023259278888: 2
    }
    Ответ написан
    3 комментария
  • Как пересчитать одинаковые элементы в массивах?

    @StiflerProger
    В любом случае, удобней уже в слитом сравнивать
    mainArr.reduce((acc, cur) => {
        if (!acc[cur]) acc[cur] = 0;
        acc[cur]++;
        return acc;
    }, {})
    Ответ написан
    9 комментариев
  • Двумерный список в C++?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    std::vector<std::vector<int>> my2dArray;
    my2dArray.resize(nRows);
    
    for (int i = 0; i <= nRows; ++i)
    {
       my2dArray[i].resize(nColumns);
       for (int j = 0; j <= nColumns; ++j)
       {
          my2dArray[i][j] = myElemData(i, j);
       }
    }


    Печатать по тому же принципу.
    Ответ написан
    2 комментария
  • Как перевернуть треугольник dropdown-toggle?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    Ответ написан
    Комментировать
  • Почему не работает функция при клике?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Работает.

    Почему вы этого не видите? Погуглите, что такое всплытие событий. Затем, держа в голове свежеприобретённые знания, присмотритесь к этому коду:

    function fb3cont() {
    
      b3Cont.classList.remove("__active");
    }
    document.onclick = function() {
      if (b3Cont.classList.contains("__active")) { fb3cont()};
    }
    Ответ написан
    3 комментария
  • Как изменить элемент в двухуровневом массиве JS?

    Gimir
    @Gimir
    JavaScript dev
    categories.map(category => {
       if (category.id === category_id) return { ...category, products: category.products.map(product => {
          if (product.id === product_id) return { ...product, is_blocked: 0 };
          return product;
       }) };
       return category;
    })
    Ответ написан
    Комментировать
  • Как переопределить метод, чтобы он создавал и возвращал копию объекта, из которого вызывается?

    Casper-SC
    @Casper-SC
    Программист (.NET)
    Как-то так это делается.

    Кстати, в производном классе вместо
    public override Base CreateCopy()
    можно указать
    public override Derivative CreateCopy()
    и это будет работать. Насколько помню, это нововведение новой версии C#. Вот в справке написано, что версии C# 9.

    using System;
    
    namespace ConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                var objectBase = new Base("Base");
                var objectDerivative = new Derivative("Derivative", '7');
    
                var copyBase = objectBase.CreateCopy();
                var copyDerivative = objectDerivative.CreateCopy();
    
                Console.WriteLine(copyBase);
                Console.WriteLine(copyDerivative);
            }
        }
    
        public class Base
        {
            private readonly string _text;
    
            public string Text
            {
                get { return _text; }
            }
    
            public Base(string text)
            {
                _text = text;
            }
    
            public virtual Base CreateCopy()
            {
                return new Base(Text);
            }
    
            public override string ToString()
            {
                return $"{nameof(Text)}: {Text}";
            }
        }
    
        public class Derivative : Base
        {
            private readonly char _symbol;
    
            public char Symbol
            {
                get { return _symbol; }
            }
    
            public Derivative(string text, char symbol)
                : base(text)
            {
                _symbol = symbol;
            }
    
            public override Base CreateCopy()
            {
                return new Derivative(Text, Symbol);
            }
    
            public override string ToString()
            {
                return $"{nameof(Text)}: {Text}, {nameof(Symbol)}: {Symbol}";
            }
        }
    }
    Ответ написан
    Комментировать
  • Как переместить html блок с помощью js после определенного блока?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    const a3 = document.querySelector('.a3');
    const nado = document.querySelector('.nado');
    
    a3.before(nado)
    Ответ написан
    2 комментария
  • Как сделать, чтобы скрипт отрабатывал только в той карточке, с которой взаимодействуют?

    0xD34F
    @0xD34F Куратор тега JavaScript
    $('.input-range').on('input', function() {
      $(this)
        .closest('.select')
        .find('.slider')
        .css('left', (((this.value / 50) + 1) * 25) + '%');
    });
    Ответ написан
    Комментировать
  • Как исправить фильтр?

    twobomb
    @twobomb
    string filter = "";
    if (filterCountryPanel.SelectedIndex != 0)
      filter = string.Format("country = '{0}'", filterCountryPanel.SelectedItem.ToString());
    if (filterGenrePanel.SelectedIndex != 0)
      filter += (filter == "" ? "" : " and ") + string.Format("genre = '{0}'", filterGenrePanel.SelectedItem.ToString());
    (listRadioStation.DataSource as DataTable).DefaultView.RowFilter = filter == ""?null:filter;
    Ответ написан
    8 комментариев
  • Как выделить блоки с диапазоном id?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Замените id на data-атрибут. Чтобы было не id="666", а data-val="666", например.
    Раз сравнивать значения собираетесь как числа - сделайте минимальное/максимальное значения числами изначально.

    document.querySelectorAll('селектор ваших блоков').forEach(n => {
      const val = +n.dataset.val;
      n.classList.toggle('disable', min > val || val > max);
    });
    Ответ написан
    Комментировать
  • Почему не работает dynamic_cast?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Определение функции шаблона должно быть inline в .h файле (вставьте код из code.cpp в code.h).

    Ну, или в code.cpp файле добавьте куда-то строку
    findViewById<WEngine::TextView*>;

    Это все потому, что в C++ архаичная система хедеров. Когда компилится main.cpp, он не видит определения метода, только декларацию из code.h. Когда компилится code.cpp, он не знает, что main понадобится инстанциирование шаблона с каким-то типом. Поэтому не создает его. А потом линкер уже ругается, что не может найти функцию.
    Ответ написан
    Комментировать