• Подробно объяснить строки команды (для чего они/что делают).
    Текст: Составить программу переформирования строк так, чтобы в первой строке располагались слова, начинающиеся с букв, в алфавитном порядке, а во второй-слова, начинающиеся с цифр, по возрастанию

    question img
    question img

Ответы 1

  • #include - директива препроцессора, подключающая определенный файл .cpp или т.п. В данном случае эти библиотеке уже были скомпилированы.

    #define USE.... определяет, что после подключения <cmath> будут доступы математические константы.

    using namespace std; - подключение пространства имен std; - не советую это использовать.

    string slovo(string &r) // функция slovo, которая возвращает объект типа string, и которая принимает ссылку на объект(дабы не создавать копию и напрямую изменять значение переданной ей переменной)

    {

    Далее здесь расположен цикл, который начинает итерировать с последнего символа строки(метод length() возвращает как раз-таки это.)

    Сам алгоритм описывать не буду, который там происходит, ибо мне это влом, но предполагаю, что он удаляет пробелы. Объясню просто работу методов:

    substr() выделяет подстроку из строки

    erase() удаляет определенный элемент из строки(контейнера)

    break - оператор, завершающий работу цикл(выходит из цикла)

    }

    функции last, preob выполняют похожую роль - удаляют из строки пробелы.

    preob ф-я удаляет 1 из двух пробелов, стоящих рядом.

    Про функцию замена сказать ничего не могу(могу, конечно, но будет не точным)

    Функция sort сортирует строку так, как указано в условии.

    В общем, вкратце объяснил работу методов, поверхностно - работу функций.

    Безусловно, мой ответ не полный, не исчерпывающий, потому что заниматься анализом у меня попросту нет желания и времени. Извиняйте.

    А вообще, почему и не использовать библиотеку algorithm, где содержится много очень полезных функций, включая сортировку, с возможностью исрользования своего компаратора.

    Будут какие-то вопросы - пиши в комментарии, постараюсь ответить.

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years