• Какие хорошие колоды anki по англйскому языку вам встречались?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Зависит от уровня. При изучении отдельных словарей лучше составлять самостоятельно
    Ответ написан
    Комментировать
  • Обрезать поля у DJVU файла

    @lionsimba
    k2pdfopt. Чудесная программа с трудновыговариваемым названием.

    Умеет даже слова переносить со строчки на строчку на сканированном в виде изображения(!) djvu- или pdf- файле.

    www.willus.com/k2pdfopt/
    Ответ написан
    7 комментариев
  • Как отсортировать массив double с помощью qsort?

    rhaport
    @rhaport
    Проблема в том, что Вы приводите разницу двух double к int, если она маленькая, то компаратор вернёт 0!

    int cmp(const void *a, const void *b) 
    {
        const double *ad, *bd;
        
        ad = (const double*)a;
        bd = (const double*)b;
       
        if (*ad < *bd) 
        {   
            return -1;   
        }   
        else if (*ad > *bd)
        {   
            return 1;
        }   
        else
        {   
            return 0;
        }   
    }
    Ответ написан
    1 комментарий
  • Почему увеличивается сила тока при параллельном соединении батареек?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Когда мы говорим о силе тока применительно к источникам тока, то подразумеваем предельную силу тока, которые они способны выдать без повреждения. Кроме того, источники тока имеют собственное сопротивление, которое определяет ток короткого замыкания. Iкз = U/Rисточника.

    При этом реальная сила тока в цепи с нагрузкой (в простейшем случае) считается по закону Ома для полной цепи: I = U/(Rнагрузки + Rисточника). Этот ток должен быть меньше предельно допустимого для источника.

    При последовательном соединении батарей их напряжения суммируются, сопротивления тоже. А вот ток при последовательном соединении одинаков на всех участках цепи и, соответственно, предельный ток соединённых батарей будет равен предельному току одной батареи. Реальный ток всей цепи I = U*n/(Rнагрузки + Rисточника*n).

    При параллельном соединении батарей ток будет распределяться между ними обратно пропорционально их внутреннему сопротивлению. Если батареи одинаковые, то ток цепи разделится поравну между ними и, соответственно, общий предельный ток соединённых батарей будет равен предельному току одной батареи, умноженному на количество батарей. Реальный ток всей цепи I = U/(Rнагрузки + Rисточника/n).
    Ответ написан
    Комментировать
  • В чем разница между int a() и int a=int()?

    @MiiNiPaa
    А теперь выведите typeid(first).name() на экран и удивитесь.

    Первая строчка это объявление функции first без параметров и возвращающая int. Имя функции превращается в указатель, указатель конвертируется в bool (true), который конвертируется в int (1).
    Ответ написан
    3 комментария
  • С++: работа с большими числами?

    Olej
    @Olej
    инженер, программист, преподаватель
    мне нужно использовать в с++ числа с 10 символами. символы после точки мне не нужны. я бы использовал массив но мне необходимо нужно получить корень из 3 степени. с int у меня все работает


    А мне так кажется, что у вас полная каша в голове ... и никакие тут краткие советы не помогут:
    - корень (хоть "из 3 степени", хоть из любой) - не извлекается
    - вам нужны вещественные числа, а нужны вам символы после точки или не очеь - это уже не имеет значения
    - в новых стандартах C++ есть вещественный тип long double, точность которого куда выше ваших требуемых 10-ти знаков.
    Ответ написан
  • Как вы систематизируете полученные знания?

    @MrBruk
    Evernote + Chrome plugin for evernote
    Ответ написан
    Комментировать
  • Delphi. Запуск чужого приложения из своего сервиса?

    RomeroMsk
    @RomeroMsk
    Если задача — запуск на рабочем столе активного пользователя (того, кто смотрит в монитор в данный момент), то можно сделать так:
    function WTSGetActiveConsoleSessionId: DWORD; stdcall; external 'Kernel32.dll';
    function WTSQueryUserToken(SessionId: DWORD; phToken: pHandle):bool;stdcall;external 'wtsapi32.dll';
    
    if WTSQueryUserToken(WtsGetActiveConsoleSessionID,@hToken) then
    begin
    	ZeroMemory(@si,SizeOf(si));
    	si.cb:=SizeOf(si);
    	si.lpDesktop:=nil;
    	CreateProcessAsUser(hToken,nil,PANSIChar(FilePath),nil,nil,False,0,nil,nil,si,pi);
    	CloseHandle(hToken);
    end;

    Смысл в том, что начиная с Vista (если не ошибаюсь), запуск приложения в контексте системы весь интерактив возложит в «рабочий стол пользователя SYSTEM».
    Но если пользователь залогинится после запуска — окно он не увидит, скорее всего. Решение: циклическая проверка «активности» пользователя в службе и запуск этим способом.
    Ответ написан
    2 комментария