Тема: Операции над строками. Цель работы. Указания к работе. Варианты индивидуальных заданий
Тема: Операции над строками
1. Цель работы
Приобретение и закрепление знаний о представлении данных типа строка символов и о стандартных функциях, определенных в файле <string.h>.
2. Указания к работе
Разработать функцию, выполняющую заданную операцию над данными типа char[] языка C. Предусмотреть и описать реакцию на некорректное задание параметров.
Ввод исходных данных, вызов разработанной функции, проверку успешности выполнения и печать результатов ее работы выполнять из функции main() программы.
Каждая функция разрабатывается в двух экземплярах: с использованием стандартных функций <string.h> и без их использования (обработка массивов char[] с помощью циклов).
При необходимости создать и вернуть из функции новую строку функция должна иметь возвращаемое значение типа char*. Память под строку должна выделяться в создающей ее функции, освобождаться – в main(). В остальных случаях тип возвращаемого значения определяется самостоятельно. Функции типа void не использовать.
3. Варианты индивидуальных заданий
N п/п
| Имя процедуры/функции
| Уровень сложности
| Назначение
|
| Copy(s,n)
|
| Копирование строки s в новую строкуn раз
|
| Words(s)
|
| подсчет числа слов в строке s
|
| SymCount(s, с)
|
| определить количество заданных символов cв строке s
|
| PairCount(s, с)
|
| определить количество пар рядом расположенных символов cв строке s
|
| FirstLetter(s, c)
|
| Подсчет количества слов в строке, начинающихся на заданную букву
|
| WordsCount(s, n)
|
| Подсчет количества слов в строке, состоящих из n символов
|
| SameCount(s, n)
(Кулагин)
|
| Подсчет количества слов в строке, начинающихся и заканчивающихся на одну и ту же букву
|
| IsSameLength(s)
|
| Проверка, имеют ли все слова в строке одинаковую длину
|
| IsSortedLen(s)
|
| Проверка, все ли слова в строке упорядочены по возрастанию их длины
|
| IsSortedABC(s)
|
| Проверка, упорядочены ли слова в строке по алфавиту
|
|
|
|
|
| Left(s,m,c)
|
| выравнивание строки sслева до длины m, добавляя заданный символ с
|
| Right(s,m,c)
|
| выравнивание строки s справа до длиныm, добавляя заданный символ с
|
| LastPos(s,s1)
|
| поиск позиции последнего вхождения подстроки s1 в строку s
|
| WordLength(s,n)
|
| определение длины слова с номеромn
|
| StrLWord(s,k)
(Айдов)
|
| определить количество слов длиной больше, чем длина слова с номером кв строке s
|
| AddLetterLen(s, c, k)
|
| Добавить к каждому слову строки слева символ с, если это слово короче к символов, и справа – если длиннее
|
| OddLenWords(s)
|
| Составить новую строку из слов четной длины исходной строки
|
| EvenWords(s)
|
| Составить новую строку из слов исходной строки с нечетными номерами
|
| SwapWords(s)
(Кукушкин)
|
| Поменять местами первое и последнее слово в строке
|
| LengthWords(s)
|
| Вернуть строку, содержащую длины всех слов исходной строки, разделенные одним пробелом
|
Приложение: стандартные константы и функции для работы с символьными строками языка С:
|