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

  • Контрольные вопросы

  • Задачи для индивидуального решения

  • Рекомендуемая литература

  • !!! МЕТОДИЧКА_Срр_Часть1. Учебнометодическое пособие предназначено для студентов, изучающих дисциплину Программирование


    Скачать 2.01 Mb.
    НазваниеУчебнометодическое пособие предназначено для студентов, изучающих дисциплину Программирование
    Анкорcxfsd
    Дата04.03.2022
    Размер2.01 Mb.
    Формат файлаpdf
    Имя файла!!! МЕТОДИЧКА_Срр_Часть1.pdf
    ТипУчебно-методическое пособие
    #382624
    страница6 из 6
    1   2   3   4   5   6
    s0 содержит введенный текст; s1 – хранит очередное слово текста; s1 – хранит очередное слово текста; s2 – хранит искомый в тексте символ; pr – хранит символ «пробела»; j – хранит размер найденного слова; flag – указывает, что данное слово искомое. блок б) setlocale(LC_ALL, "Russian");
    // Чтение введенной с клавиатуры строки. cout<<"Введите текст для замены:"; getline(cin, s0); блок в) s2="n"; pr=" "; cout<<"Получили: ";
    // Выясняем, не пустая ли строка. if (s0.empty()) cout << "String is empty"<<"\n"; else {}; блок г) while (s0.length()!=0)
    {} блок д) flag=false;
    //Заполняем строку s1 пробелами j=0; s1.resize(1,' '); s1.resize(s0.size(),' '); блок е) for (int i=0; i// Проверяем, есть ли в очередном слове удвоенные буквы for (int i=1; i// Если есть, то выводим слово на экран if (flag) cout<Приведем программу целиком:
    #include

    #include using namespace std;
    #include void main(){ string s0, s1, s2, pr; int j; bool flag; setlocale(LC_ALL, "Russian");
    // Чтение введенной с клавиатуры строки. cout<<"Введите текст для замены:"; getline(cin, s0); s2="n"; pr=" "; cout<<"Получили: ";
    // Выясняем, не пустая ли строка. if (s0.empty()) cout << "String is empty"<<"\n"; else{
    // s0.length() - функция получения длины строки s0. while (s0.length()!=0)
    { flag=false;
    //Заполняем строку s1 пробелами j=0; s1.resize(1,' '); s1.resize(s0.size(),' '); for (int i=0; i{
    //Если очередной символ не пробел,
    //то копируем его в строку s1 if (s0[i]!=pr[0]) s1[i]=s0[i]; else break; j++;
    }
    // Проверяем, есть ли в очередном слове удвоенные буквы for (int i=1; i// Если есть, то выводим слово на экран if (flag) cout<//Изменяем длину строки на размер обработанного слова s0.erase(0,j+1);
    };
    }
    _getch();
    }
    Реализовав данную программу в интегрированной среде программирования, получим результирующее окно, представленное на рисунке 7.2.
    Рис. 7.2. Окно выполнения задачи

    В самом языке С++ нет типа данных «множество». Соответственно нет и операций над ними. Но в стандартной библиотеке шаблонов STL есть два подходящих шаблонных класса: set и multiset (множество и мультимножество). Второй отличается от первого тем, что элементы в нем могут повторяться. Такие операции как вставить, удалить, узнать размер, узнать есть ли такой элемент в множестве – там есть. Но необходимо самостоятельно реализовывать такие операции как найти пересечение, объединение, вычитание двух множеств (что является достаточно простым). Об STL можно почитать в книге:
    Николай Джосьютис. C++. Стандартная библиотека. Серия: Для профессионалов –
    СПб.: Питер, 2004 г., 736 стр. ISBN 5-94723-635-4.
    Контрольные вопросы
    Как описываются строковые переменные?
    Какая максимальная длина строки допустима в С++?
    Какие операции допустимы над строковыми данными?
    В чем отличие строковой переменной от массива символов?
    Какие стандартные процедуры и функции для работы со строками вы знаете?
    Что выведет функция Copy(x,Pos(' ',x)+1,18), если x='Сила есть - ума не надо'?
    Чему равно значение x[0] после присваивания x:='вопрос'?
    Задачи для индивидуального решения:
    1. Дана строка, найти в ней удвоенные буквы.
    2. Дана строка, содержащая математическую формулу. Проверить соблюдается ли в записи данной формулы баланс открывающихся и закрывающихся скобок.
    3. Дана строка. Найти в ней количество слов.
    4. Дана строка. Удалить все гласные в тексте.
    5. Дана строка из слов, содержащих буквы и цифры. Слова разделены пробелами.
    Удалить из каждого слова цифры.
    Вариант 1 1.
    Найти самое длинное и самое короткое слово в заданном тексте.
    2.
    Дана строка. Заменить все гласные на символ ' * '.
    Вариант 2 1.
    Дана строка. Если она представляет собой запись целого числа, то вывести 1, если вещественного (с дробной частью), то вывести 2, если строку нельзя преобразовать в число, то вывести 0.
    2.
    Дана строка. Утроить все символы в тексте.
    Вариант 3 1.
    Дана строка. Найти количество слов 'krokodil'.
    2.
    Дана строка, содержащая полное имя файла. Выделить из строки название последнего каталога (без символа ‘\’). Если файл содержится в корневом каталоге, то вывести символ ‘\’.
    Вариант 4 1.
    Вывести строку длины N (N-четное), которая состоит из чередующихся символов С1 и С2, начиная с С1.
    2.
    Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом и преобразует его в двоичное.
    Вариант 5 1.
    Дана строка. Напечатать ее в обратном порядке.

    2.
    Дана строка из строчных латинских букв. Напечатать все буквы, входящие в текст не менее двух pаз.
    Вариант 6 1.
    Дана строка. Вывести текст по две буквы в столбик.
    2.
    Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, но расположенные в обратном порядке и разделенные одним пробелом.
    Вариант 7 1.
    Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом.
    2.
    Удалить из слов с четной длиной все гласные, а из слов с нечетной длиной – все согласные.
    Вариант 8 1.
    Дана строка из строчных латинских букв. Напечатать все буквы, входящие в текст по одному pазу.
    2.
    Дана строка. Удалить в тексте лишние пробелы между словами, оставив по одному.
    Вариант 9 1.
    Дана строка. Удалить каждую вторую букву.
    2.
    Дана строка из слов, содержащих буквы и цифры. Вывести слова, упорядочив их по убыванию количества входивших в них цифр.
    Вариант 10 1.
    Дан текст. Найти количество слов, заканчивающихся буквосочетанием 'kk'.
    2.
    Дана строка. Из заданного предложения удалить все слова, которые уже встречались в нем ранее.

    Рекомендуемая литература
    1. Великович, Л.С. Программирование для начинающих / Л.С. Великович, М.С.
    Цветкова. – М.: БИНОМ, 2012. – 293 с.
    2. Литвиненко, Н.А. Технология программирования на С++ / Н.А. Литвиненко. –
    СПб.: БХВ-Петербург, 2010 – 281 с.
    3. Окулов, С.М. Основы программирования / С.М. Окулов. – М.: БИНОМ, 2012. –
    340 с.
    4. Пахомов, Б. С/С++ и MS Vusual C++ 2010 для начинающих / Б. Пахомов. – СПб.:
    БХВ-Петербург, 2011 – 726 с.
    1   2   3   4   5   6


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