Содержание
Цель работы_________________________________________________ 3
Задание к лабораторной работе_________________________________ 3
Порядок выполнения___________________________________________ 6
Содержание отчета___________________________________________ 6
Контрольные вопросы_________________________________________ 7
Литература__________________________________________________ 7
Цель работы
В лабораторной работе необходимо разработать класс String, предоставляющий более удобные и безопасные средства для операций со строками нежели встроенный тип char*.
Задание
Разработать класс String определив для него методы:
· копирования строк, реализовав оператор =;
· поиска подстроки;
· слияния строк, реализовав операторы += и +;
· эквивалентности строк, набор операторов == и!=;
· определения длины строки;
· вставки подcтроки с нужной позиции;
Написать программу, иллюстрирующую основные методы класса String в соответствии с вариантом.
1. Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.
2. В строке имеется одна точка с запятой (;). Подсчитать количество символов до точки с запятой и после нее.
3. В строке заменить все двоеточия (:) точкой с запятой (;). Подсчитать количество замен.
4. Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b.
5. Дана строка. Подсчитать в ней количество вхождений букв r, k, t.
6. Дана строка. Определить, сколько в ней символов *,;,:.
7. Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова.
8. Дана строка символов, среди которых есть двоеточие (:). Определить, сколько цифровых символов ему предшествует.
9. Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.
10. Дана строка символов, среди которых есть одна открывающаяся и одна закрывающаяся скобка. Вывести на экран все символы, расположенные внутри этих скобок.
|
11. Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
12. Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *.
13. Дана строка. Определить, сколько раз входит в нее группа букв abc.
14. Определить, сколько раз в строке встречается заданное слово.
15. Дана строка. Подсчитать количество букв k в последнем ее слове.
16. Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается двоеточием (:). Определить сколько в нем слов, заканчивающихся буквой a.
17. Дана строка. Подсчитать, сколько различных символов встречаются в ней. Вывести их на экран.
18. Дана строка. Подсчитать самую длинную последовательность подряд идущих букв a.
19. Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.
20. Дана строка. Указать те слова, которые содержат хотя бы одну букву k.
21. Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой.
22. В строке удалить символ двоеточие (:) и подсчитать количество удаленных символов.
23. В строке между словами вставить вместо пробела запятую и пробел.
24. Удалить часть символьной строки, заключенной в скобки (вместе со скобками).
25. Дана строка. Преобразовать ее, заменив все двоеточия (:), встречающиеся среди первых n /2 символов, и заменив точками все восклицательные знаки, встречающиеся среди символов, стоящих после n /2 символов.
|
26. Строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом).
27. В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.
28. Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы.
29. Строка, содержащая произвольный русский текст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводиться в грамматически правильной форме: например: а — 25 раз, к — 3 раза и т.д.
30. Упорядочить данный массив английских слов по алфавиту.
31. Даны две строки A и B. Составьте программу, проверяющую, можно ли из букв, входящих в A, составить B (буквы можно использовать не более одного раза и можно переставлять). Например, A: ИНТЕГРАЛ; B: АГЕНТ — составить можно; B: ГРАФ — составить нельзя.
32. Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных.
33. Двумерный массив n ´ m содержит некоторые буквы русского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую, можно ли из этих букв составить данное слово S. Каждая буква массива используется не более одного раза.
34. Результаты вступительных экзаменов представлены в виде списка из N строк, в каждой строке которого записаны фамилия студента и отметки по каждому из M экзаменов. Определить количество абитуриентов, сдавших вступительные экзамены только на «отлично».
35. Составить программу преобразования натуральных чисел, записанных в римской нумерации, в десятичную систему счисления.
|
36. Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте.
37. В символьном массиве хранятся фамилии и инициалы учеников класса. Требуется напечатать список класса с указанием для каждого ученика количества его однофамильцев.
38. Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если число введено неверно, повторить ввод. При правильном вводе перевести число в десятичную систему счисления.
39. Для заданного текста определить длину содержащейся в нем максимальной серии символов, отличных от букв.
40. Расстояние между двумя словами равной длины — это количество позиций, в которых различаются эти слова. В заданном предложении найти пару слов заданной длины с максимальным расстоянием.
Порядок выполнения работы
Перед началом работы необходимо создать свой каталог на диске, который по окончанию работы надо стереть и в который в процессе выполнения лабораторной работы Вы будете записывать всю информацию. Загрузить отладчик IDE Visual Studio, написать и отладить программу в соответствии с заданием.
Содержание отчета
Титульный лист.
Аналитическая часть: сравнение класса String и типа char* применительно к работе со строками.
Экспериментальная часть:
Текст программы, которая реализует функцию в соответствии с заданием.
Выводы.