Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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




Задача 7.01

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

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

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

 

Программа, используя функцию rat N, удаляет из полного имени файла D:\FOXPRO\BASE\FILES\base.dbf подстроку \FILES.

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

Задача 7.02

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

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

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

Функция char* deleteS1inPstrS1toS2 (char* str, char S1, char S2) в строке ищет все подстроки от символа S1 до символа S2 и удаляет ту из них, которая содержит внутри себя хотя бы один символ S1. Функция возвращает через возвращаемое значение адрес строки, если удалось удалить хотя бы одну подстроку, в противном случае возвращает 0. Используйте при разработке алгоритма функции функции poiskPstrS1toS2, poiskSymb, delNSymbl.

 

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

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

Задача 7.03

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

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

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

Функция char* qaz N (char* str, int k) получает строку str и число k и преобразует в строке каждую k –ую буквенную подстроку, переставляя буквы в ней в обратном порядке. Функция через возвращаемое значение возвращает адрес строки str, если ее удалось изменить, в противном случае возвращает 0. Используйте при разработке алгоритма этой функции функции strAlfa, qaz.

 

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

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

 

 

Задача 7.04

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

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

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

Функция char* zamenaStr1Str2 (char* str, char* str1, char* str2) получает строку str, строки str1 и str2, ищет в строке str все подстроки, равные строке str1. Функция после каждой найденной нечетной подстроки вставляет подстроку, равную строке str2, а четную подстроку удаляет. Функция через возвращаемое значение возвращает адрес строки str, если ее удалось изменить, в противном случае возвращает 0. Используйте при разработке алгоритма функции функции findPstrEqualStr1, delNSymbl, insertPstr.

 

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

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

Задача 7.05

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

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

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

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

 

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

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

 

Задача 7.06

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

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

Функция char* dublPstr (char* str, char* str1) получает строку str и строку str1 и ищет в строке str все подстроки, равные строке str1. Если переднайденной подстрокой стоит символ, равный символу, следующему сразу за этой подстрокой, то эта подстрока дублируется в строке (функция вставляет ее же). Функция через возвращаемое значение возвращает адрес строки str, если строку удалось изменить, в противном случае возвращает 0. Используйте при разработке алгоритма функции функции ravnoPstr, insertPstrBegin.

 

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

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

 

Задача 7.07

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

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

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

Функция char* zamenaSymbStr (char* str, char symb, char* str1) получает строку str, символ symb и строку str1 и ищет в строке str все подстроки, состоящие из символа symb. Если длина найденной подстроки больше длины строки str1, то найденная подстрока заменяется строкой str1. Функция через возвращаемое значение возвращает адрес строки, если удалось заменить хотя бы одну подстроку, в противном случае возвращает 0. Используйте при разработке алгоритма функции функции poiskPodstrokSymb, deleteNSymbl, pushStr.

 

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

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

Задача 7.08

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

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

Функция int sumLenPstr (char* str) для строки, полученной через параметры, подсчитывает и возвращает сумму длин предпоследней и последней из найденных подстрок, состоящих из символов латиницы. Если подстрок меньше двух, то функция возвращает ноль. Используйте при разработке алгоритма функции функцию isStrLatin.

 

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

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

Задача 7.09

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

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

Функция int raznLenPstr (char* str) для строки, полученной через параметры, подсчитывает и возвращает разность длин первой и последней из найденных подстрок, состоящих из символов латиницы. Если подстрок меньше двух, функция возвращает ноль. Используйте при разработке алгоритма функции функцию isStrLatin.

 

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

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

Задача 7.10

Функция char* pad left (char* str, char symb, int n) получает строку str, символ symb, число n и добавляет к строке str слева n символов symb. Функция через возвращаемое значение возвращает адрес str.

Функция char* push (char* str, char symb, int n) через каждые n символов строки str вставляет n же символов symb. Функция через возвращаемое значение возвращает адрес строки, если ее удалось преобразовать, и 0, если не удалось. Функция должна использовать функцию padleft.

 

 

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

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

 

Задача 7.11

Функция char* adjacentDel (char* str), получает строку str и удаляет из нее первый символ, код которого оказался смежным с кодом следующего символа (смежными кодами назовем числа, значения которых отличаются на 1). Функция через возвращаемое значение возвращает адрес удаленного символа, если удалось удалить такой символ, и 0, если не удалось.

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

 

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

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

 

Задача 7.12

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

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

 

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

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

 

Задача 7.13

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

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

Функция char* insertNumber (char* str, char symbLeft, char symbRight) получает строку str, и ищет в ней все подстроки, начинающиеся с символа, равного символу symbLeft и заканчивающиеся первым встретившимся в этой строке символом, равным symbRight, и после каждой подстроки вставляет символ-цифру, равный остатку от деления длины этой подстроки на 9 плюс 1. Если подстроки не найдены, функция возвращает 0. В противном случае функция через возвращаемое значение возвращает адрес преобразованной строки. Функция должна использовать разработанные функции poiskPstr и insert.

 

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

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

 

Задача 7.14

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

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

 

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

Для ввода строки с пробелами используйте стандартную потоковую функцию istream& get (char* str, int len, char = '\n').

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

Задача 7.15

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

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

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

 

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

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

 

Задача 7.16

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

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

Функция int smallgap (char* str) получает строку str с пробелами и удаляет лишние пробелы, оставляя только по одному пробелу. Функция возвращает 0, если подстроки пробелов не найдены или не удалено ни одного пробела. В противном случае функция возвращает количество удаленных пробелов. Используйте при разработке алгоритма функции функции findSymbPstr и delNsymbl.

 

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

Для ввода строки с пробелами используйте стандартную потоковую функцию istream& get (char* str, int len, char = '\n' ).

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

 

Задача 7.17

Функция char* push (char* str) получает строку str и вставляет в первую позицию символ, стоящий на этой позиции (дублирует этот символ). Функция возвращает адрес преобразованной строки str.

Функция char* detl (char* str, int nInsert) получает строку str, позицию nInsert вставки в ней символа и вставляет через каждые nInsert символов символ, стоящий на этой позиции (дублирует символ). Функция через возвращаемое значение возвращает адрес преобразованной строки str или 0, если позиция вставки nInsert выходит за длину строки str. Функция detl должна использовать функцию push.

 

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

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

 

Задача 7.18

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

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

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

 

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

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

Задача 7.19

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

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




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


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


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



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




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