• Не понимаю, как правильно реализовать программу?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Во-первых, можно отлично читать из файла сразу число. Вы как с консоли числа вводите? Вот точно также, только из файла. Вы как строку-то читаете? Вот передавайте там не строку, а int условный. Ну, еще, если scanf-ом читаете, то надо туда %d вместо %s передавать. А так есть еще функции преобразования числа в строку. Читайте справки по atoi, sscanf, stringstream.
    Ответ написан
    3 комментария
  • Как решить ошибку LNK2001?

    Adamos
    @Adamos
    А зачем instance быть членом класса? Вместо
    static WinterFactory* instance;
    Вставьте первой строчкой в getInstance
    static WinterFactory* instance = nullptr;
    Ответ написан
    Комментировать
  • Как узнать что функция вернула double число?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    C++ - строго типизированный язык. Функция, задекларированная как double, всегда вернет double.

    Чтобы на ваш вопрос можно было нормально ответить, ознакомьтесь с тем, что такое Проблема X-Y
    Ответ написан
    Комментировать
  • Полиморфизм - это обратное наследование?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Это ваше собственное определение про обратное наследование?
    Родительский класс ничего не знает о методах потомков.
    Полиморфизм нужен для организации уровня абстракции.
    У автомобиля есть абстрактный интерфейс: разгоняться, тормозить, поворачивать. Вы применяете соответствующие методы, а под капотом происходит полиморфизм в зависимости от того, на какой машине вы едете: на ДВС при ускорении отодвигается заслонка, обогащается сместь, поступает в форсунки, увеличиваются обороты; у электромобиля частотник увеличивает частоту, синусоиды, идущей на двигатели, он начинает крутиться быстрее... Потом кто-то придумал гибрид и там всё гораздо сложнее, но на уровне "предка" обо всём этом не нужно думать, благодаря полиморфизму мы имеем простые понятные методы, которые у потомков реализованы по-своему.
    Ответ написан
    Комментировать
  • Что 3а ошибка в коде?

    vabka
    @vabka
    Токсичный шарпист
    Код абсолютно дебильный какой-то.
    1. Нафига тут вообще класс использовать в таком виде?
    2. У вас шаблон на классе - так что надо указывать параметр шаблона при инициализации класса Sor
    3. Sorting и PrintArray приватные - нельзя их просто так вызвать
    4. Что это вообще за название "Sorting"?
    5. А зачем метод для печати массива у класса, который должен типа сортировкой заниматься?
    6. В C++ еть тип std::array, который позволяет нормально передавать размеры масива при помощи шаблонов, а не отдельным параметром.
    Короче тут разбирать - не разберёшь
    Вот в таком виде уже всё это дело компилируется:
    #include <iostream>
    
    template <typename T> class Sort {
    public:
      Sort(){};
      T *Sorting(T *mas, int size) {
        T tmp;
        for (int i = 0; i < size; i++)
          for (int j = 0; j < size; j++)
            if (mas[i] < mas[j]) {
              tmp = mas[i];
              mas[i] = mas[j];
              mas[j] = tmp;
            }
        return mas;
      }
      void printArray(const T *arr, int count) {
        for (int ix = 0; ix < count; ix++)
          std::cout << arr[ix] << "   ";
        std::cout << std::endl;
      }
    };
    int main() {
      const int iSize = 10;
      int iArray[iSize] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
      auto sort = new Sort<int>();
      sort->Sorting(iArray, iSize);
      std::cout << "\t\t Шаблон функции вывода массива на экран\n\n";
      std::cout << "\nМассив типа int:\n";
      sort->printArray(iArray, iSize);
      return 0;
    }

    В принципе такой код достоит сайта говнокод ру
    Ответ написан
    Комментировать
  • Как довести данный код до конца?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что вы делаете pop_back на пустом векторе.
    P.S.
    А когда-то для этих целей хватало одной целочисленной переменной. Теперь, смотрю, векторы используют. Скоро, наверное, bigdata и искусственный интеллект подтянут...
    Ответ написан