• С чем связан рост трафика на MSK-IX в районе сентября 2015?

    lakispy
    @lakispy
    Просто рафик гречу закупил и терь банчит
    Ответ написан
    Комментировать
  • Как вызвать метод объемлющего класса?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как мне тут вызвать функцию tree_successor(n); ???

    Эту функцию можно вызвать только для объекта класса RBtree. Вам нужно либо иметь указатель/ссылку на RBtree в классе итератора, либо уметь получать его из объекта Node.
    Ответ написан
    Комментировать
  • Как подключать с помощью директивы include?

    @hiloader
    Ваша проблема в том, что вы не компилируете и не линкуете модуль foo.cpp в свое приложение.
    add_executable(main main.cpp foo.cpp);
    Ответ написан
    5 комментариев
  • Глобальные переменные или частое пересоздание локальных?

    maaGames
    @maaGames
    Погроммирую программы
    А потом ты решишь распараллелить выполнение этих функций и ...
    Ответ написан
    Комментировать
  • Почему при передаче указателя на структуру присвоенное значение в функции сбрасывается?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    А зачем вы в SomeClass::someFunc меняете значения указателей (локальные для функции), вместо того, чтобы менять значения, на которые они указывают? Типа того:
    void SomeClass::someFunc(SYSTEMTIME * _minDate, SYSTEMTIME * _maxDate){
      SYSTEMTIME minDate, maxDate;
      std::vector<SYSTEMTIME> dates;
      ...
        minDate = dates[0]; // тут все хорошо. Новые значения присвоены
        maxDate = dates[1];
      ...
      *_minDate = minDate;
      *_maxDate = maxDate;
    }

    Ну, или если уж необходимо действительно указатели менять, то, например, так:
    void SomeClass::someFunc(SYSTEMTIME * & _minDate, SYSTEMTIME * & _maxDate){
      SYSTEMTIME minDate, maxDate;
      std::vector<SYSTEMTIME> dates;
      ...
        minDate = dates[0]; // тут все хорошо. Новые значения присвоены
        maxDate = dates[1];
      ...
      // что-то сделать с объектами, на которые указывают _minDate и _maxDate, например освободить
      _minDate = new SYSTEMTIME(minDate); // _minDate  присвоен указатель на новый объект.
      _maxDate = new SYSTEMTIME(maxDate); // проветил, _minDate  и _maxDate дейсвтиетльно какие нужно.
    }
    Ответ написан
    1 комментарий
  • Куда деваются объекты в std::vector??

    yagorik
    @yagorik
    C++ Developer
    Вызов конструктора из конструктора доступен только С++11/14
    И в вашем случае он должен выглядеть как-то так:
    singleton::singleton() : singleton(600, 400)
    {}



    На самом деле вопрос немного меняется. Я вызывал конструктор из конструктора:
    singleton::singleton(){
      singleton::singleton(600, 400);
    }

    То что вы написали работает иначе, в этой строке singleton::singleton(600, 400); создаётся безымянный локальный объект singleton, который будет удалён после выхода из тела вызывающего конструктора.
    Ответ написан
    Комментировать
  • Как определить есть ли остаток от деления в c++?

    ErmIg
    @ErmIg
    Программист
    В C++ остаток от деления определяется оператором %. Например:
    int a = 5 % 3;
    Ответ написан
    Комментировать
  • Как определить есть ли остаток от деления в c++?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    const int a=5%2; //% - вычислить остаток от деления левого на правое
    cout<<a;

    ---------------------------------
    1
    Ответ написан
    Комментировать
  • В каких сферах программирования активно используется математика?

    newross
    @newross
    Product owner
    Кто сказал что в программировании матан редко применяется? Если продвинуться чуть дальше сайтов-визиток, то без матана будет тяжко.
    Любая цифровая обработка сигналов полна адового матана. При разработке систем высокочастотного трейдинга и систем финансового анализа очень много математики и экономики. Системы мониторинга Глонасс/GPS для разработки дополнительных фич тоже требуют некислых знаний матана и геометрии.
    В общем, проще выбрать интересующую область и искать себе применение в ней.
    Ответ написан
    1 комментарий
  • Как в C++ создать массив структур неизвестной длины внутри функции?

    Кроме упомянутых выше ошибок с использованием scanf (и сомнительности использования gets), есть еще одна ошибка связанная с передачей указателя в функцию input - он передается по значению, и изменяется версия внутри функции, но не значение переменной books из main, соответственно, delete [] books - делает совсем не то, что вы ожидаете.
    Ответ написан
    Комментировать
  • Доброго времени суток. Не могли бы вы помочь разобраться в функции?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Функция как функция, ничего примечательного. Все вызовы внутри стандартные, никаких заковыристых флагов. Обработка ошибок есть, но не очень старательная.

    Если можно, максимальное количество комментариев.


    Вы можете максимизировать количество полезных коментариев задавая конкретные вопросы.
    Ответ написан
    Комментировать
  • Разложение cosec в ряд Тейлора C++?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Советую почти полностью переписать код, хорошенько его оптимизировав. Например бессмысленно находить каждый раз 2^(2n+1), зная значение 2^(2n-1). Тоже самое для факториала.
    В итоге нахождение косинуса поместится в 1 цикл и для определения достижения необходимой точности не понадобится 2жды вызывать две довольно затратные функции.

    UPD. И в этом условии:
    abs(f(n,sum)-f(n+1,sum))<epsilon
    должен стоять знак больше

    UPD2. для double и float лучше использовать функцию
    double fabs (double x);
    float fabs (float x);
    long double fabs (long double x);


    UPD3. По поводу оптимизации, я имел в виду нечто такое:
    double sin(double x, double EPS) {
        double result = x;
        double delta = x;
        for (int n=1; fabs(delta)>EPS; n++) {
            delta *= x/(2*n)*x/(2*n+1);
            delta *= -1;
            result+=delta;
        }
        return result;
    }
    double cosec(double x, double EPS) {
        return 1.0f/sin(x, EPS);
    }
    Ответ написан
    5 комментариев
  • Запись классов в бинарный файл - как исправить ошибку?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Прочитайте про указатели. Когда у меня только появился компьютер, я хотел поделиться игрой с другом и скопировал на дискету ярлычок с рабочего стола. Разумеется, эта идея была обречена на провал. Ваш код пытается сделать примерно то же самое. В бинарном представлении класса data есть одно поле float N которое успешно записывается в файл, и второе float *ti, которое является всего лишь адресом. После того как вы считываете данные из файла, он указывает на какое-то место в памяти где может быть что угодно, но не тот массив, который вы ожидаете увидеть.

    А исправить можно например так. Данные для наглядности пишем в текстовый файл.
    Ответ написан
    Комментировать
  • Основание логарифма при оценке сложности алгоритма nlog(n)

    @throughtheether
    human after all
    Одно из свойств этой нотации - отбрасывание констант перед членами, а также младших (менее быстро растущих) членов. Кроме того, log[base=a](N)=log[base=b](N)/log[base=b](a), т.е. при смене основания логарифма эффективно меняется константа перед соответствующим членом, что в целом не учитывается ('подавляется') О-нотацией.
    Ответ написан
    Комментировать
  • Как заработать новичку на низкоуровневом программировании?

    svd71
    @svd71
    найди на хабре одного товарисча с ником dihalt и напиши ему в личку. Он когда то хвалился, что может работу делить. Не за бесплатно, конечно.
    Ответ написан
    Комментировать
  • Функция с переменным числом параметров

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    int *p=&k;//настроили указатель на параметр k
    ...
    s+=*(++p);

    Вот за такую х..ю надо лишать права преподавания. Используйте va_list/va_start/va_arg/va_end, потому что это единственный стандартный способ доступа к аргументам, переданным через многоточие.
    Ответ написан
    Комментировать
  • Подойдет ли учебный план обучения ЯП "с нуля" ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    архитектуру ЭВМ и базы данных думаю стоит закинуть уже после алгоритмов. Либо пустить сначала самые основы (почему именно так сделано), а еще лучше паралельно. Ибо в целом это больше теоритические предметы, а теория скучна. Алгоритмы же - веселее, там можно наблюдать результат, причем относительно быстро, тем самым мотивируя изучать все дальше.

    Но это лично мое мнение.
    Ответ написан
    Комментировать
  • Как дать понять пользователю, что функция выделила память (С++)?

    @alexanius
    Избегайте таких ситуаций. В C++ множество усилий было направлено на то чтобы избавиться от гуляющих указателей. Используйте контейнеры (vector, list) или умные указатели (std::shared_ptr).
    Ответ написан
    2 комментария
  • Что такое объектный модуль?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Сборка с или с++ кода проходит в 2 этапа.
    1 - компиляция. На нем каждый cpp-шник преобразуется в объектный файл. Поскольку каждый файл компилируется независимо, мы пока не можем вычислить адрес функций из другого объектника. На их месте оставляем дырки и записываем в специальные таблички символы которые ожидаем
    / имеем.
    Потом происходит линковка. Все объектные файлы записываются друг за другом, и теперь можно заполнить адреса всех функций.
    Статические библиотеки ведут себя примерно как обычные объектные файлы. С динамическими все несколько сложней.
    Ответ написан
    Комментировать
  • Как создать автоматически генерируемое число ПИ?

    @portfelio
    1) Научитесь выражать свои мысли правильно! Это вам значительно облегчит жизнь и взаимодействие с социумом.
    2) Откройте Википедию, вдумайтесь в формулу и напишите реализацию
    3) Если лень думать, то погуглите раз и два
    Ответ написан
    Комментировать