Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тексты индивидуальных задач, выполняемых в лабораторной работе 2 страница




Функция char* stod (char* str) получает строку str, и ищет в ней первую цифровую подстроку-дату в форме jjjjmmdd, где jjjj - год, mm - номер месяца (число 01 – 12), dd - день(число 01 – 30; примите допущение, что в каждом месяце 30 дней). Если в строке не найдена подстрока-дата, то функция возвращает 0, в противном случае функция через возвращаемое значение возвращает адрес найденной подстроки. Функция должна использовать разработанную функцию poiskCifrPodstrok.

Функция char* delNsymbl (char* str, int N) удаляет из полученной строки N первых символов.

Функция char* stod ChangeAll (char* str) получает строку str, ищет в ней подстроки-даты и в каждой из них удаляет две первые цифры года. Если функция сделала хотя бы одно преобразование, она через возвращаемое значение возвращает адрес строки, в противном случае 0. Функция должна использовать разработанные функции stod и delNsymbl.

 

Программа со стандартного устройства ввода считывает фразу, состоящую из N слов(точное количество слов в фразе задает пользователь заранее), и выдает на экран преобразованную фразу, в которую включены только преобразованные слова.

В двух вариантах выполнить только функции stod и delNsymbl.

Задача 7.20

Функция char* poiskPstr (char* str, char* pstr) получает стpоку s tr, строку pstr и ищет в строке s tr подстpоки, равные строке pstr. Функция возвращает через возвращаемое значение адрес найденной подстроки,если она найдена, иначе возвращается адресный 0.

Функция char* udalNsymbl (char* str, int N) удаляет из полученной строки N первых символов.

Функция void insertPstr (char* str, char* pstr) вставляет в начало строки str строку pstr.

Функция char* poisk2Pstr (char* str, char* pstr1, char* pstr2) получает стpоку s tr, строки pstr1 и pstr2 иищет в строке s tr первую и последнюю подстpоки, равные строке pstr1 и, если находит их, заменяет на подстроку pstr2. Функция возвращает через возвращаемое значение адрес строки, если удалось сделать замену, в противном случае функция возвращает адресный 0. Используйте при разработке алгоритма функции функции poiskPstr, udalNsymbl и insertPstr.

 

Программа вводит с клавиатуры две строки pstr1, pstr2 и для каждого из N введенного слова программа осуществляет поиск первой и последней подстрок pstr1 и замены их на подстроку pstr2. Функция выдает на экран каждое преобразованное слово. Функция подсчитывает количество не преобразованных слов.

В двух вариантах выполнить только функции poiskPstr и insertPstr.

 

Задача 7.21

Функция char* tatu (char* str, int nLen) получает строку str и удаляет из нее nLen первых символов. Функция возвращает адрес str.

Функция char* tatuN (char* str, int N,char symb,int nLen) получает строку str и после каждого N символа symb удаляет nLen символов строки. Если при очередном удалении удаляется один из символов symb, то в дальнейшем подсчете N символа он не учитывается. Если строку не удалось преобразовать, функция возвращает 0, иначе возвращает через возвращаемое значение адрес строки. Используйте при разработке алгоритма функции функцию tatu.

 

Программа со стандартного устройства ввода считывает символ symb, числа N и nLen и фразу, состоящую из n слов(точное количество слов во фразе задает пользователь заранее). Программа изменяет каждое слово фразы с помощью функции tatuN и выводит на экран только измененные слова исходной фразы. Программа подсчитывает количество не преобразованных слов в исходной фразе.

В двух вариантах выполнить только функцию tatu.

 

Задача 7.22

Функция char* findPstr (char* str1, char* str2), получив строку str1, ищет в ней первую подстроку, равную строке str2. Если такая подстрока найдена, то функция через возвращаемое значение возвращает адрес найденной подстроки. Если подстрока не найдена, то функция возвращает 0.

Функция void replaceNSymb (char* str*,int nSymb), получив строку str и число nSymb, первые nSymb символов записывает в этой стоке в обратном порядке.

Функция char* replaceSubStr (char* str, char* strSub, int n) получает строку str, строку strSub и число n. Функция, найдя каждую n подстроку, равную strSub, переписывает символы этой подстроки в обратном порядке. Функция возвращает через возвращаемое значение адрес строки str, если удалось выполнить хотя бы одно преобразование в строке, в противном случае функция возвращает 0. Используйте при разработке алгоритма функции функции findPstr и replaceNSymb.

 

Программа, вводит строку str, число n и используя функцию replaceSubStr, в каждом из N введенных слов, ищет заданную пользователем n подстроку, равную строке str и зеркально переворачивает каждую такую найденную n подстроку. На экран выводятся только преобразованные слова, подсчитывается сколько слов из N введенных не подверглись преобразованию и не были выведены на экран.

В двух вариантах выполнить только функции findPstr и replaceNSymb.

 

Задача 7.23

Функция void delNsymbl (char* str, int n) получает строку, число n и удаляет из строки первые n символов.

Функция char* FirstPstrS1S2 (char* str, char s1, char s2, int& lenPstr) получает строку str, символ s1 и символ s2 и ищет в строке str первую подстроку от символа s1 до символа s2. Если такая подстрока найдена, то функция через возвращаемое значение возвращает адрес этой подстроки и через параметр по ссылке ее длину, в противном случае функция возвращает 0.

Функция char* changeStr (char* str, char s1, char s2) получает строку str, символ s1 и символ s2 и ищет в строке str все подстроки, от символа s1 до символа s2 и в каждой из них проверяет наличие цифрового символа. Если он найден, то часть подстроки от первого найденного в ней цифрового символа до ее конца (включая символ s2) удаляется. Функция возвращает через возвращаемое значение адрес строки, если удалось удалить хотя бы один символ, в противном случае возвращает 0. Используйте при разработке алгоритма функции функции delNsymbl и FirstPstrS1S2.

 

Программа, вводит символы s1 и s2 и, используя функцию changeStr, в каждой из n введенных строк, ищет все подстроки, от символа s1 до символа s2 и осуществляет преобразование по правилу этой функции. На экран выводятся только те из введенных строк, которые подверглись изменению. Подсчитывается, сколько из введенных строк не подверглись преобразованию.

В двух вариантах выполнить только функции delNsymbl и FirstPstrS1S2.

 

Задача 7.24

Функция int isNumber (char symb) получает символ и определяет, является ли он цифровым символом.

Функция char* poiskNumberPstr (char* str, int& len) получает строку и находит в ней первую цифровую подстроку и возвращает ее адрес через возвращаемое значение и через параметр по ссылке ее длину. Если такая подстрока не найдена, то функция возвращает 0.

Функция void delNsymbl (char* str, int n) получает строку, число n и удаляет из строки первые n символов.

Функция void vstavkaPstr (char* str, char* pstr) получает строки str и pstr и вставляет строку pstr в начало строки str.

Функция char* zamenaNumber (char* str, char* pstr) получает строки str и pstr, ищет в строке str все цифровые подстроки и заменяет каждую из них на строку pstr. Функция возвращает через возвращаемое значение адрес строки str, если произошла хотя одна замена, в противном случае функция возвращает адресный 0. Используйте при разработке алгоритма функции функции poiskNumberPstr, delNsymbl и vstavkaPstr.

 

Программа вводит строку и для каждой из строк производит замену буквенных подстрок на подстроки, равные строке. Программа подсчитывает количество строк, подвергшихся изменению.

В двух вариантах выполнить только функции poiskNumberPstr и vstavkaPstr.

 

Задача 7.25

Функция int isBukvSymb (char symb) получает символ и определяет, является ли он буквенным символом.

Функция char* poiskFirstBukvPstr (char* str, int& len) получает строку и находит в ней первую буквенную подстроку и возвращает ее адрес через возвращаемое значение и через параметр по ссылке ее длину. Если такая подстрока не найдена, то функция возвращает 0.

Функция void delNFirstSymbl (char* str, int n) получает строку, число n и удаляет из строки первые n символов.

Функция void insertNFirstSymbl (char* str, char symb, int n) получает строку, символ symb число n и вставляет в начало строки n символов symb.

Функция char* vstavkaSymbPosleBukv (char* str, char symb) в строке ищет все буквенные подстроки и после каждой четной подстроки вставляет полученный через параметры символ, каждую нечетную подстроку удаляет. Функция возвращает адрес строки, если удалось изменить строку, в противном случае 0. Используйте при разработке алгоритма функции функции poiskFirstBukvPstr, delNFirstSymbl, insertNFirstSymbl.

 

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

В двух вариантах выполнить только функции insertNFirstSymbl, poiskFirstBukvPstr.

 

Задача 7.26

Функция char* findPstrSymb1toSymb2 (char* str,char symb1, char symb2, int& len) получает строку и находит в ней первую подстроку от symb1 до symb2, возвращает ее адрес через возвращаемое значение и через параметр по ссылке ее длину. Если такая подстрока не найдена, то функция возвращает 0.

Функция char* poiskMySymb (char* str, int len, char symb) получает строку, находит среди первых ее len символов символ symb и возвращает его адрес через возвращаемое значение. Если символ не найден, то функция возвращает адресный 0.

Функция void insertOneSymb (char* str, char symb) получает строку, символ symb и вставляет его в начало строки.

Функция char* zamenaZifrSymb (char* str, char s1, char s2, char zifr) получает строку str, символ s1 и символ s2 и ищет в строке все подстроки, от символа s1 до символа s2, в каждой из них проверяет наличие цифрового символа zifr. Если в подстроке цифра найдена, то она заменяется двумя символами s1, s2. Функция возвращает через возвращаемое значение адрес строки, если удалось вставить символы хотя бы один раз, в противном случае возвращает 0. Используйте при разработке алгоритма функции функции findPstrSymb1toSymb2, poiskMySymb, insertOneSymb.

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

В двух вариантах выполнить только функции insertOneSymb, findPstrSymb1toSymb2.

Задача 7.27

Функция int is Latin (char s) получает символ и определяет, является ли он символом латиницы (строчной или прописной буквой латинского алфавита).

Функция char* isPstrAlfabit (char* str, int& n) получает строку str и ищет в ней первую подстроку, содержащую только символы латиницы (строчные или прописные буквы латинского алфавита). Если такая подстрока найдена, функция возвращает через параметр по ссылке длину подстроки и ее адрес через возвращаемое значение, и 0 в противном случае. Используйте при разработке алгоритма функции функцию isLatin.

Функция int UpDown (char& s) получает через параметр по ссылке символьный объект, преобразует в нем, если это прописной буквенный символ в символ строчный и возвращает через возвращаемое значение 1, если преобразование сделано, и 0 в противном случае.

Функция char* UpDown NPstr (char* str, int n) получает строку str и преобразует каждую n -ую подстроку латинских букв в подстроку тех же букв, но в коде верхнего регистра. Функция возвращает адрес строки str, если преобразования были осуществлены хотя бы над одной n -ой подстрокой строки str, и 0, если ни один символ в строке не был подвергнут преобразованию. Функция использует разработанные Вами функции isPstrAlfabit и UpDown.

 

Программа со стандартного устройства ввода считывает число n и N слов(точное количество слов пользователь задает заранее), и используя функцию UpDownNPstr преобразует слова, выдавая на экран только те из них, в которых удалось сделать преобразования.

В двух вариантах выполнить только функцию is PstrAlfabit.

 

Задача 7.28

Функция char* FirstРStr (char* strRez, char* str) получает две строки - строку strRez и строку str, и ищет в строке strRez первую подстроку, равную строке str, Функция возвращает через возвращаемое значение адрес найденной подстроки или ноль, если подстрока не найдена.

Функция int Lower (char& s) получает символ по ссылке и, если это буквенный символ, преобразует его код из кода верхнего регистра в код нижнего регистра. Функция через возвращаемое значение возвращает 1, если символ подвергся преобразованию и 0, если такого преобразования не было.

Функция char* LowerS ymb (char* strRez, char* str) получает две строки строку str и строку strRez, и ищет в строке strRez подстроки, равные строке str, и в каждой найденной такой подстроке меняет прописную букву, если она есть, в строчную букву, оставляя без изменения остальные символы. Функция возвращает через возвращаемое значение адрес строки strRez, если символы строки подвергались преобразованию, и 0 в противном случае. Используйте при разработке алгоритма функции функцию FirstРStr и Lower.

 

Программа со стандартного устройства ввода считывает фразу, состоящую из N слов(точное количество слов в фразе задает пользователь заранее), и, используя функцию LowerSymb выдает на экран преобразованную фразу, в которой оставлены только слова, все символы которых подвергнуты изменению, а также сообщает о том, сколько слов из исходной фразы не включено в результирующую.

В двух вариантах выполнить только функцию FirstРStr.

 

Вариант 29.

Функция char* at (char* str, char s, int n, int N, int& len) получает строку символов str, символ s, числа n и N и определяет адрес и длину подстроки, начинающуюся с n -ого вхождения символа s в строке и заканчивающуюся N вхождением этого символа включительно (n<N). Если такой подстроки не существует, функция возвращает 0.

Функция char* delNsymbl (char* str, int N) удаляет из полученной строки N первых символов.

 

Программа получает строку, символ и два числа n и N. И спользуя функции at и delNsymbl, программа в полученной строке удаляет все символы между n и N вхождениями заданного символа, если таковые вхождения имеются. В противном случае выдается сообщение о невозможности сделать удаление.

В двух вариантах выполнить функции at и delNsymbl

Организовать при вводе контроль чисел n и N.

Задача 7.30 Функция char* findFirstSubstr (char* str, char* substr) получает стpоку s tr, строку substr и ищет в строке s tr подстpоки, равные строке substr. Функция возвращает адрес подстроки через возвращаемое значение,если она найдена, иначе возвращает 0.

Функция char* delNsymbl (char* str, int N) удаляет из полученной строки N первых символов.

Функция void pushSubstr (char* str, char* substr) вставляет в начало строки str строку substr.

Функция char* findHowSubstr (char* str, char* substr1, char*substr2, int how) получает стpоку s tr, строки substr1 и substr2, число how иищет в строке s tr how -тую подстpоку, равную строке substr1, и, найдя, заменяет ее на подстроку substr2. Функция через возвращаемое значение возвращает адрес строки, если удалось сделать хоть одну замену, в противном случае функция возвращает 0. Используйте при разработке алгоритма функции функции findFirstSubstr, delNsymbl, pushSubstr.

 

Программа вводит с клавиатуры две строки substr1, substr2 и число how и для каждого из N введенного слова программа осуществляет поиск подстроки substr1 и замены ее на подстроку substr2. Функция выдает на экран каждое преобразованное слово. Функция подсчитывает количество не преобразованных слов.

В двух вариантах выполнить только функции findFirstSubstr ,, pushSubstr.

 

Задача 7.31

Функция int is Number (char s) получает символ и определяет, является ли он цифровым символом.

Функция char* is NumberPstr (char* str, int& len) получает строку str и ищет в ней первую подстроку, содержащую только цифровые символы. Если такая подстрока найдена, функция возвращает через параметр по ссылке ее длину и ее адрес через возвращаемое значение, и 0 в противном случае. Используйте при разработке алгоритма функции функцию isNumber.

Функция char* delNsymbl (char* str, int N) удаляет из полученной строки N первых символов.

Функция char* numtrim (char* str) получает строку str, в которой могут быть цифры в конце, в начале, в середине, удаляет из нее только начальные и конечные цифры. Функция через возвращаемое значение возвращает адрес str, если строку удалось преобразовать, и 0, если не удалось. Функция должна использовать разработанные функции isNumberPstr и delNsymbl.

 

Программа со стандартного устройства ввода считывает фразу, состоящую из N слов(точное количество слов в фразе задает пользователь заранее), и, используя функцию numtrim выдает на экран преобразованную фразу, в которой оставлены только слова, не окаймленные буквенными символами.

В двух вариантах выполнить только функции isNumberPstr и delNsymbl.

 

Задача 7.32

Функция void pushBeginNSymbl (char* str, char s, int n) получает строку, символ s, число n и вставляет в начало строки n символов s.

Функция void udalenNSymbl (char* str, int n) получает строку, число n и удаляет из строки первые n символов.

Функция char* vstavkaAndUdalenSymbols (char* str, char* str1) получает строку str и строку str1, ищет в строке str все подстроки, равные строке str1. Функция перед каждой найденной подстрокой вставляет два последних символа строки str, а последний символ каждой найденной подстроки удаляет. Функция через возвращаемое значение возвращает адрес строки str, если удалось ее изменить, в противном случае возвращает 0. Используйте при разработке алгоритма функции функции pushBeginNSymbl, udalenNSymbl.

 

Программа вводит первую строку и число N, затем последовательно N других строк. Для каждой из этих N строк ищутся все подстроки, равные первой строке. Перед каждой найденной подстрокой вставляется два последних символа самой строки, а последний символ каждой найденной подстроки удаляется. Программа подсчитывает количество строк, не подвергнутых изменению.

В двух вариантах выполнить только функции pushBeginNSymbl, udalenNSymbl.

Задача 7.33

Функция int isCifr (char symb) получает символ и определяет, является ли он цифровым символом.

Функция char* poiskCifrPstr (char* str, int& len) получает строку, находит в ней первую цифровую подстроку и возвращает ее адрес через возвращаемое значение, а через параметр по ссылке ее длину. Если такая подстрока не найдена, то функция возвращает 0.

Функция void delNsymbl (char* str, int n) получает строку, число n и удаляет из строки первые n символов.

Функция void insertNsymbl (char* str, char symb, int n) получает строку, символ symb число n и вставляет в начало строки n символов symb.

Функция char* long (char* str, char symb) получает строку str, в которой могут присутствовать цифровые подстроки, и символ symb. Функция находит цифровые подстроки и заменяет каждую цифровую подстроку S символами symb. S вычисляется как сумма цифр в подстроке, которая подлежит замене. Если цифровые подстроки в строке str не найдены, то возвращается 0, в противном случае функция возвращает через возвращаемое значение адрес преобразованной строки str. Используйте при разработке алгоритма функции функции poiskCifrPstr, delNsymbl, insertNsymbl.

 

Программа со стандартного устройства ввода считывает фразу, состоящую из N слов(точное количество слов в фразе задает пользователь заранее), и выдает на экран преобразованную фразу, в которой каждое введенное слово, содержащее цифровые подстроки, «растянуты» с помощью функции long по следующему правилу. Слова, содержащие четное число символов, «растянуты» первым символом слова, а слова, содержащие нечетное число символов, «растянуты» вторым символом слова Программа подсчитывает количество не преобразованных слов в исходной фразе.

В двух вариантах выполнить только функции poiskCifrPstr, insertNsymbl.

 

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 647; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.061 сек.