• Linux язык программирования?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    все бюджетные (и не очень) организации перейдут на отечественный линукс с 2020 года

    Впервые я эту телегу услышал в 2003-м. Но воз и ныне там.

    В связи с этим вопрос, что лучше для разработки использовать?

    Как C++, так и Java одинаково хорошо работают как в Linux, так и в Windows.

    больше нравится (изучаю самостоятельно) JAVA

    Учите Java.

    для работы с бд в Java gui интерфейс можно нарисовать?

    Можно.
    Ответ написан
    2 комментария
  • С++ Как узнать подробности об ошибке?

    @Alexander1705
    greeting = " Hello!!!";
    result = strcat(greeting, name); // Сдесь программа вылетает

    Конечно же вылетает. Используйте std::string, или научитесь работать с указателями.

    Утечка памяти 1: CppHello::~CppHello() {}.
    Утечка памяти 2: name = value;.
    Утечка памяти 3: greeting = " Hello!!!";.
    Запись в защищённую область памяти: strcat(greeting, name);

    P. S. Segmentation fault не бросает исключения. Перехватить его можно, но не нужно. Отладчик покажет, где происходит segfault.

    P. P. S. Здесь подробнее про вашу ошибку: Writing to read-only memory
    Ответ написан
    Комментировать
  • Почему вылазиет эта ошибка?

    DDDsa
    @DDDsa
    a = float(input())
    b = float(input())
    Ответ написан
    Комментировать
  • Что учить для решения олимпиадных задач на C++?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Решать задачи на hackerrank и codeforces.
    Ответ написан
    Комментировать
  • Написать программу, считающую сумму ряда с погрешностью EPS?

    @Sumor
    Очевидно, что при x = 2*PI ряд расходится.
    Скорее всего, можно доказать, что он расходится при любых x, возможно кроме каких-то особых точек.

    Например, если x = 2*PI/q, где q - любое рациональное число, q=m/n, где m - целое,n - натуральное. Тогда область значений функции cos(x*k) конечно, с мощностью не более n. Тогда можно взять минимальное значение из области значений и вынести его за скобки; тогда в скобках останется ряд, который снизу ограничивается гармоническим рядом, который расходится.

    Отсюда вам остаётся только считать частичную сумму ряда пока разность между элементами не станет меньше EPS. Кстати нахождение элементов, разность между которыми меньше EPS не гарантирует, что у вас не будет превышения этого порога в следующих слагаемых. Возможно имеет смысл EPS ограничивать соответствующие слагаемые гармонического ряда.
    Ответ написан
    2 комментария
  • Область генерации ПСЧ в С++?

    Допустим вам нужен диапазон S1 = [0, k) | (k, N].
    Используйте распределение в диапазоне S2 = [0, N - 1]. А затем результат преобразуйте с помощью отображения f: S2 -> S1.

    В вашем случае f это функция:

    f(x) = if (x >= 3) x + 1 else x

    mt19937 gen(time(0));
    uniform_int_distribution<int> uid(1, 9);
    
    int f(int n) {
      if (n >= 3)
        return n + 1;
      else
        return n;
    }
    
    int i = f(uid(gen));
    Ответ написан
    Комментировать
  • Как сравнить с Enter?

    myjcom
    @myjcom Куратор тега C++
    Можно так
    #include<iostream>
    #include<string>
    
    using namespace std;
    
    int main()
    {
      setlocale(LC_ALL, "Russian");
      system("chcp 1251 > null");
      string s;
      cout << "Введите имя: ";
      while(getline(cin, s))
      {
        if(s.empty())
        {
          cout << "Вы не ввели имя!\n"
               << "Введите имя: ";
          continue;
        }
        break;
      }
      cout << "\nВаше имя: " << s
           << "\nНажмите любую клавишу...";
      cin.get();
    }

    Если правильнее, как пишет Артем Спиридонов,
    Тогда возможно так (Windows)
    #include<iostream>
    #include<string>
    #include<algorithm>
    #include<cctype>
    #include<clocale>
    
    using namespace std;
    
    /* functions from https://code-examples.net/ru/q/34ef7 */
    // trim from start (in place)
    static inline void ltrim(string &s)
    {
      s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](const auto ch) {
        return !isspace(ch);
      }));
    }
    
    // trim from end (in place)
    static inline void rtrim(string &s)
    {
      s.erase(std::find_if(s.rbegin(), s.rend(), [](const auto ch) {
        return !isspace(ch);
      }).base(), s.end());
    }
    
    // trim from both ends (in place)
    static inline void trim(string &s)
    {
      ltrim(s);
      rtrim(s);
    }
    
    int main()
    {
      setlocale(LC_ALL, "Russian");
      system("chcp 1251 > null");
      string s;
      cout << "Введите имя: ";
      while(getline(cin, s))
      {
        //upd
        replace_if(s.begin(), s.end(), [](const auto c){return iscntrl(c); }, ' ');
        trim(s);
        //end upd
    
        if(s.empty())
        {
          cout << "Вы не ввели имя!\n"
               << "Введите имя: ";
          continue;
        }
        break;
      }
      cout << "\nВаше имя: " << s
           << "\nНажмите любую клавишу...";
      cin.get();
    }

    Ответ написан
    Комментировать
  • Что здесь с математикой не так?

    @AVKor
    И. М. Виноградов. Основы теории чисел. стр. 8.
    Ответ написан
    Комментировать