Ответы пользователя по тегу C++
  • Как исправить ошибку линковая файлов С++ в VS 2017(LNK2005)?

    @assembled
    1. В *.h файлах должны быть только заголовки функций и объявления глобальных переменных.

    2. *.cpp файлы не пишут в #include'ах ( в них пишут только *.h ) , *.cpp компилируются отдельно и потом полученные объектные файлы линкуются вместе в один исполняемый.

    3. Для избежания включения несколько раз одного и того же файла используйте #ifndef:
    // файл MyForm.h
    #ifndef __MYFORM__
    #define __MYFORM__
    // здесь содержимое файла
    #endif
    Ответ написан
    4 комментария
  • Поиск простых чисел?

    @assembled
    Насчет диапазона longclaps написал правильно, объясню про остальное:
    Этот блок кода:
    if (!(i % j)){
        break;
    }

    проверяет, делится ли нацело i на j, если остаток от деления i % j равен 0, значит число i составное и перебирать остальные делители не имеет смысла, и внутренний цикл прерывается.
    Условие if (j > (i / j)) проверяет, закончился ли полностью цикл перебора делителей, если j > (i / j) значит, что внутренний цикл не прерывался, а это значит что делителей для i не нашлось, и поэтому оно простое и i выводится на экран.
    Ответ написан
    Комментировать
  • Как переменную перевести в константу?

    @assembled
    Мне кажется, что никак, лучше используйте динамический массив.
    int *arr = new int [ len ] ;
    Ответ написан
  • Что делает cwb и правильно ли посчитает выражение программа?

    @assembled
    Сначала всё правильно:
    - поместили в AL 3 и умножили на b, результат получился в AX;
    - записали его в BX ;
    - поместили в AX 22, разделили на с, частное получилось в AL;
    - расширили знак с пом. cbw, результат в АХ;
    - сложили ВХ ( 3*b) и АХ (22/с), и потом записали в AX.
    Но потом вместо второго cbw надо было написать cwd - расширить знак АХ на DX.
    Ответ написан
    6 комментариев
  • Как передать массив в функцию и вернуть исходный массив, после сортировки?

    @assembled
    Если я тебя правильно понял:
    создаёшь новый дин. массив, копируешь в него значения, сортируешь его, выводишь, потом освобождаешь память, и всё.
    Ответ написан
    Комментировать
  • Какую книгу по C++ стоит прочитать новичку?

    @assembled
    Лучше начать с более простых языков типа Pascal, Python, а потом уже переходить к Си и С++.
    Ответ написан
  • Как учить C++ программисту который не учился в вузе в данной сфере?

    @assembled
    Лучше начать с изучения Си, по книге Кернигана и Ричи "Язык программирования Си", там все доступно и понятно объясняется, и стандарт K&R работает на большинстве компиляторов. Си хоть и примитивнее, но проще в освоении. Потом уже можно браться за изучение C++. По моему мнению, C++ ужасный, раздутый, в нем много лишнего; но сегодня без него никуда, очень много приложений написано на нем.
    И не переносят ничего из C++ в другие языки, это C++ все впитывает в себя как губка, все что нужно и ненужно.
    Я бы не стал пробовать на C++ другие парадигмы кроме ООП, все будет ужасно и непонятно. Для каждой парадигмы есть свои, более подходящие языки, например:
    - функциональное: Lisp, Haskell, Erlang, J ( для мазохистов, он кстати относится еще и к векторному программированию ) ;
    - логическое: Prolog;
    - ООП кроме C++: C#, Java, Python, Ruby и еще много др. языков;
    - для понимания архитектуры можно изучить ассемблер.
    Для понимания основ компиляции лучше начать с книги "Давайте создадим компилятор" ( имя автора непомню ), потом уже можно браться за более серьезные книги.
    Ответ написан
    Комментировать