Главная страница
Навигация по странице:

  • Пример 3. Дан текст. Получить из этого текста новую строку, в которой отсутствуют пробелы. Исходные данные

  • Тестовый пример

  • Задание 2

  • Индивидуальные задания 1

  • Практикум ргппу 2017 3 Аннотация


    Скачать 3.14 Mb.
    НазваниеПрактикум ргппу 2017 3 Аннотация
    Дата10.05.2022
    Размер3.14 Mb.
    Формат файлаpdf
    Имя файлаShireva_CCPP.pdf
    ТипПрактикум
    #521016
    страница9 из 10
    1   2   3   4   5   6   7   8   9   10
    Пример 2.
    Дан текст, содержащий русские буквы. Заменить в тексте все строчные буквы заглавными.
    В C++ нет функций, которые преобразовывали бы строчные буквы в заглавные, тем более, если это русские буквы. Для решение этой задачи создадим функцию преобразования строчных русских букв в заглавные: string upperRu(string str)
    Код программы, использующий эту функцию, будет иметь вид:
    # include

    # include

    #include

    # include

    using namespace std; string upperRu(string str); void main()
    {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251); string text1, text2; cout<<
    "Введите текст"
    ; getline(cin,text1);

    144 text2=upperRu(text1); cout<_ getch();
    }
    Блок схема функции upperRu: upperUp(string str)
    up[]={
    „А‟,…,‟Я‟}
    lo[]={
    „а‟,…,‟я‟}
    s=str i=0,
    …, s.length()-1
    j=0,
    …, 32
    s[i]=lo[j]
    s[i]=up[j]
    s
    Да
    Нет
    Массив заглавных русских букв
    Массив строчных русских букв
    Перебор символов в строке
    Перебор русских строчных букв
    Если найдена русская строчная буква
    Строчная русская буква заменяется на эту же заглавную букву
    Пример 3.
    Дан текст. Получить из этого текста новую строку, в которой отсутствуют пробелы.
    Исходные данные: Строка s – типа string.
    Результат: Строка s1 без пробелов.
    Следует обратить внимание, что после удаления символа индекс символа i не изменяется из-за сдвига символов после удаления.
    Тестовый пример:
    при s=‖Разделение строки на отдельные слова‖ конечный результат: s1=‖Разделениестрокинаотдельныеслова‖

    145
    Ввод s n=s.length()
    i=0
    i‟ „
    s1=s1+s[i]
    Вывод s1
    да нет да нет
    Ввод строки
    Определение количества символов в строке
    Задание первого просматриваемого символа
    Если просмотр строки не окончен
    Если это символ не пробел
    Добавление в новую строку символа отличного от пробела
    Переход к следующему символу
    Вывод новой строки i=i+1
    s1=
    ””
    Очистка новой строки
    Задание 2. Написать и отладить программу для примера 3
    Контрольные вопросы
    1.
    Чем С-строки отличаются от обычного массива символов.
    2.
    В чем заключается недостаток использования оператора ввода >> для строк.
    3.
    Почему не рекомендуется смешивать для ввода оператор >> и getline. Как избежать ошибок при таком смешивании.
    4.
    Какие преимущества имеет класс string перед C-строками.
    5.
    Какую библиотеку надо подключать? чтобы использовать функции для объединения C-строк.
    6.
    Можно ли в примере 3 s[i] сравнить с ― ―.
    7.
    В какой библиотеке описан класс string.
    8.
    Какие функции надо использовать, чтобы преобразовать строку в числовой тип.
    Индивидуальные задания
    1 Дана строка. Определить количество слов, равных самому короткому слову в строке.
    2 Дана строка. Определить количество слов, равных самому длинному слову в строке.
    3 Дана строка. Поменять местами самое длинное и самое короткое слово.

    146
    4 Дана строка. Сколько слов имеют длину, равную трѐм символам?
    5 Дана строка. Удалить слова со второго по четвѐртое.
    6 Дана строка. Перевернуть каждое слово в строке. Порядок слов не менять.
    7 Дана строка. Определить количество слов в данной строке и заменить все разделители слов (пробелы) на знак ― + ‖.
    8 Дана строка. Поменять местами первое и последнее слова.
    9 Дана строка. Определить количество слов, длина которых равняется чѐтному числу.
    10 Дана строка. Определить количество слов, длина которых равняется нечетному числу.
    11 Дана строка. Вывести слова в обратном порядке, начиная с последнего.
    12 Дан текст. Сколько в тексте слов начинаются и заканчиваются на одну и ту же букву.

    147
    Литература
    1. Иванова, Г. С. Технология программирования : учебник для вузов
    [ГрифУМО] / Г. С. Иванова. - 3-е изд., стер. - Москва : КноРус, 2013. - 333 с.
    2. Головин, И. Г. Языки и методы программирования : учебник для вузов
    [Гриф УМО] / И. Г. Головин, И. А. Волкова. - Москва : Академия, 2012. 303 с.
    3. Павловская Т. А. С/C++. Программирование на языке высокого уровня
    [Текст]: учеб. для вузов / Т.А. Павловская. – СПб.: Питер, 2011.– 432 с.
    4. Парфилова, Н. И. Программирование. Основы алгоритмизации и программирования : учебник для вузов [Гриф МГТУ им. Н. Э. Баумана] / Н.И.
    Парфилова, А. Н. Пылькин, Б. Г. Трусов ; под ред. Б. Г. Трусова.. Москва :
    Академия, 2014. - 239 с. [и предыдущие издания]
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта