profile
Размещено 5 лет назад по предмету Информатика от Денис88

Даны две строки символов, состоящих из цифр, букв и пробелов. Группу символов, не содержащих пробелов внутри себя, будем называть словами. Составить программу переформирования строк так, чтобы в первой строке располагались слова, начинающиеся с цифр, в порядке их возрастания, а во второй – слова, начинающиеся с букв, в алфавитном порядке.
Перевести из PASCAL в С++

begin
  var s1:=ReadlnString('Строка 1:');
  var s2:=ReadlnString('Строка 2:');
  var s:=(s1+' '+s2).ToWords;
  s1:=s.Where(t->t[1] in ['0'..'9']).OrderBy(t->t).JoinIntoString;
  s1.Println;
  s2:=s.Where(t->not(t[1] in ['0'..'9'])).OrderBy(t->t).JoinIntoString;
  s2.Println
end.

  1. Ответ на вопрос
    Ответ на вопрос дан clinteastwood2
    Незнаю верно ли я все понял, но как вариант можно сделать так
    //Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64

    #include <iostream>
    #include <string>
    #include <sstream>
    #include <vector>
    #include <iterator>
    #include <algorithm>

    bool DigitFirst(const std::string& rhs, const std::string& lhs)
    {
        if (isdigit(rhs[0]) || isdigit(lhs[0]))
            return rhs < lhs;
    }

    bool LetterFirst(const std::string& rhs, const std::string& lhs)
    {
        if (isalpha(rhs[0]) || isalpha(lhs[0]))
            return rhs < lhs;
    }

    const std::string TrueSort(std::string str, bool(*comparator)(const std::string&
    rhs, const std::string& lhs))
    {
        std::stringstream ss(str);
        std::vector<std::string> vstr(std::istream_iterator<std::string>(ss), {});
        std::sort(vstr.begin(), vstr.end(), comparator);
        ss.clear();
        std::copy(vstr.begin(), vstr.end(), std::ostream_iterator<std::string>(ss, " "));
        return ss.str();
    }

    int main()
    {
        std::string first  = "position total 12345 2jz asd512fgh";
        std::string second = "year 10010 2018r r98k hello";
        std::cout << TrueSort(first,  DigitFirst ) << std::endl;
        std::cout << TrueSort(second, LetterFirst);
    }
    1. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      "- Как писать долго, длинно и непонятно? - Использовать С++"
    2. Ответ на вопрос
      Ответ на вопрос дан clinteastwood2
      Все зависит от предпочтений, это я ещё писал используя STL, на Си это было бы ещё больше кода
    3. Ответ на вопрос
      Ответ на вопрос дан clinteastwood2
      Но писать свои "костыли" всегда интереснее, ведь кто знает, может, именно Вы реализуя свою реализацию пузырьковой сортировки неожиданно для себя, напишите соверешенно новый алгоритм)
    4. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Предпочтения - это точно. "один любит арбуз, другой свиной хрящик." (Н.Островский, "Бесприданница")
    5. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Замечу, еще, что если кому и интересны "свои костыли", то уж точно не школьнику, котором вся эта информатика обычно "да видал я ее..."
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.