• Нужен ли красный диплом?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Важны только знания. Корочка нужна только для галочки, да и то далеко не всегда. В неё никто никогда не заглянет.

    Главное - не слушать тех, кто потратил пять лет жизни, но так и не нашёл способа применить полученные знания, а теперь обижается, что ПТУшники способы делать ту же работу и получать те же деньги.
    Ответ написан
    3 комментария
  • Возможно осилить Страуструпа в 16?

    @Spargwy
    20 годиков. Голанг баккенд девелопер
    Скажу одно - нахрен не слушай тех, кто говорит тебе, что-то не учить. Сверху упомянули пайтон. Извините меня, это разные языки для разных задач, и какой смысл начинать пусть даже с более простого языка, если тебе один хрен придется перебираться на плюсы? Это во-первых.
    Во-вторых, как правильно заметил комментатор выше, нет смысла покупать книгу за 4 куска только ради тактильных ощущений. Я тебя прекрасно понимаю в этом плане, но в жизни разработчика, сталкивающегося с необходимостью изучить фундаментальные штуки, книг равных по стоимости этой(а зачастую даже намного дороже), будет очень и очень много. Сейчас, когда денег не очень много, резонно вложить их в нечто более существенное, а уж потом добрать себе библиотеку.
    Ну и в-третьих, ты я думаю к 16 годикам научился читать и воспринимать прочитанную информацию. Книга, не более чем справочник по языку и базовым концепциям, здесь не играет роль даже твой бэкграунд в других областях(хотя с ним возможно и будет чутка легче), а возраст тем более.
    Ответ написан
    Комментировать
  • Как решить проблему с концентрацией?

    @McBernar
    Ну, вообще-то, это рассеянное внимание. И надо не на Тостер писать, а к врачу идти.
    Это может очень сильно мешать вам в жизни, потому что ни на одну нормальную работу с такими навыками концентрации вы устроиться не сможете. Да и научиться ничему не сможете.
    Ответ написан
    3 комментария
  • Как правильно читать книги по программированию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    сперва были вопросы "как стать программистом"
    затем вопросы "что читать"
    теперь уже "как читать"
    может скоро будет "как учить алфавит, а то за меня родители пишут на тостере".

    Для книг - читайте простейшие туториалы и сразу практика. Сложные книги - потом, когда в голове уже будет база.

    Добавлю еще момент:
    Почитайте статью megamozg.ru/post/10126
    Там очень понятно указано, что профессиональный навык и боль программиста - гиперконцентрация, которая необходима, чтобы освоить понятия и вещи для профессиональной работы. 40 минут это как-то несерьезно.
    Ответ написан
    3 комментария
  • На что указывает указатель, на бит или байт?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В данном случае на объект класса string. Которого, кстати, в C нет.
    Ответ написан
    Комментировать
  • Как остановить ввод после нажатия Enter?

    myjcom
    @myjcom Куратор тега C++
    Попробуй так

    #include <iostream>
    #include <algorithm>
    #include <iterator>
    #include <cctype>
    #include <sstream>
    #include <string>
    #include <vector>
    using namespace std;
    
    auto get_numbers = [](istream& is){
      vector<int> numbers;
      if(is){
        int n  = 0;
        while(is.get() != 10) // 10 linux; 13 windows
        {
          is.unget();
          is >> n;
          numbers.push_back(n);
        }
      }
      return numbers;
    };
    
    auto get_numbers2 = [](istream& is){
      string s;
      getline(is, s);
    
      istringstream sn(s);
      vector<int> numbers;
    
      copy(istream_iterator<int>(sn), {}, back_inserter(numbers));
      return numbers;
    };
    
    auto get_numbers3 = [](istream& is){
      char c = 0;
      vector<int> numbers;
      int n = 0;
      // вот тут предполагается что на вход будут подаваться 
      // все таки обычные целые числа а не 5---42 --28-------56
      while((c = is.get()) && (isdigit(c) || c == ' ' || c == '-'))
      {
        is.unget();
        is >> n;
        numbers.push_back(n);
      }
      return numbers;
    };
    
    int main()
    {
      auto vn = get_numbers(cin);
      if(!vn.empty())
      {
        copy(vn.begin(), vn.end(), ostream_iterator<int>(cout, " "));
      }
      else
      {
        cout << "empty vn";
      }
    
      cout << endl;
    
      auto vn2 = get_numbers2(cin);
      if(!vn2.empty())
      {
        copy(vn2.begin(), vn2.end(), ostream_iterator<int>(cout, " "));
      }
      else
      {
        cout << "empty vn2" << endl;
      }
    
      cout << endl;
    
      auto vn3 = get_numbers3(cin);
      if(!vn3.empty())
      {
        copy(vn3.begin(), vn3.end(), ostream_iterator<int>(cout, " "));
      }
      else
      {
        cout << "empty vn3" << endl;
      }
    }

    Ответ написан
    Комментировать
  • Как остановить ввод после нажатия Enter?

    @mloborev
    Попробуйте gets()
    Ответ написан
    Комментировать
  • Как остановить заполнение массива пользователем?

    myjcom
    @myjcom Куратор тега C++
    Можно так
    #include <iostream>
    #include <iterator>
    #include <string>
    #include <algorithm>
    #include <vector>
    using namespace std;
    
    auto input = [](const string& msg)
    {
      cout << msg;
      size_t i = 0;
      cin >> i;
      return [i](istream& is){
        vector<int> v;
        copy_n(istream_iterator<int>{is}, i, back_inserter(v));
        return v;
      };
    };
    
    int main()
    {
      auto v = input("Enter number of numbers, I'm lazy: ");
      auto values = v(cin);
    }


    Или по рабоче-крестьянски

    #include <iostream>
    #include <iterator>
    #include <algorithm>
    #include <cctype>
    using namespace std;
    
    int main()
    {
      const size_t sz = 100;
      int a[sz]{0};
    
      cout << "Enter numbers: " << endl;
    
      size_t cnt = 0;
      while(cin)
      {
        char c = static_cast<char>(cin.get());
        if(isdigit(c) || c == '-' || c == '+')
        {
          if(cnt < sz - 1)
          {
            int i = 0;
            cin.putback(c);
            cin >> i;
            a[cnt++] = i;
          }
          else
          {
            cout << "Out of range: " << sz << endl;
            break;
          }
        }
        else if(c == ' ')
        {
          continue;
        }
        else
        {
          cout << "End or not number" << endl;
          break;
        }
      }
      copy_n(a, cnt, ostream_iterator<int>(cout, " "));
    }



    или используй самописный односвязный список вместо массива, раз не хочешь использовать контейнеры stl. В случае со списком можно не заботиться о размере (в рамках доступной памяти) и записи за пределы выделенной памяти.
    Ответ написан
    Комментировать
  • Как относиться к видео-урокам на YouTube по C++?

    5dd19c873a40f223885434.jpeg
    Ответ написан
    Комментировать
  • Как относиться к видео-урокам на YouTube по C++?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Крайне отрицательно.
    Пропускать сразу.
    Пользы от этих недокурсов от картавого Васяна из 10 "Б" нет никакой.
    А других-то и нет.
    Ответ написан
    Комментировать
  • Какую среду разработки выбрать для андроид + веб?

    GavriKos
    @GavriKos
    для не-программиста

    лучшая среда для не-программиста - upwork. Ну или "фрилансим".
    Ответ написан
    2 комментария
  • Как сделать массив произвольной длины?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как быть? Какой размер массива объявить?

    Не объявляй никакой. Воспользуйся вместо этого стандартным контейнером, например std::vector.
    Но если хочется помучаться -- воспользуйся указателем и выделяй память динамически, по мере поступления входных данных.
    Ответ написан
    Комментировать
  • Структуры и классы в чем разница?

    hePPer
    @hePPer
    Структуры - совместимость с языком Си. В С++ структуры и классы эквивалентны, кроме доступа по умолчанию.
    Ответ написан
    1 комментарий
  • Структуры и классы в чем разница?

    @ittakir
    Наследование и поля в class по-умолчанию private, в struct - public.
    В остальном все одинаково.
    Ответ написан
    Комментировать
  • C++ Где изучать нейросети?

    @vanyamba-electronics
    Ответ написан
    Комментировать
  • C++ Где изучать нейросети?

    Zoominger
    @Zoominger
    System Integrator
    Сначала натренируйте свою головную нейросеть в любой непонятной ситуации трясти Гугл.
    Ответ написан
    Комментировать