Обработка символьных данных (тип String)



Обработка последовательности символов

1.1.Определить сколько раз в тексте встречается любая буква А.

1.2. Дан текст. Слова в нем разделены пробелом.

а) Определить количество слов в тексте и вывести каждое слово на новой строке.

б) Вывести самое длинное слово.

в) Определить сколько слов начинается на букву К или к.

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

1.3. Выписать из текста слова, начинающиеся и заканчивающиеся на одну и туже букву (в качестве разделителя могут использоваться любые знаки препинания).

1.4. Из заданного текста выписать все слова, имеющие максимальную длину.

1.5. Дан текст. Определить

а) сколько цифр встречается в тексте;

б) сколько двузначных чисел в тексте;

в) самое большое число в тексте;

г) наибольшее количество цифр, идущих в нем подряд;

д) является ли этот текст десятичной записью целого числа.

1.6. Дан текст. Если в нем нет символа + , то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +, заменить символом - .

1.7. Дано вещественное число. Найти сумму цифр этого числа.

1.8. Удалить все слова с нечетными порядковыми номерами и перевернуть все слова с четными номерами.

1.9. Удалить все слова, оканчивающиеся группой букв -кая или -кое.

1.10. Удалить все слова, в которых встречается не более двух различных букв.

1.11. Удалить из строки все слова, которые являются палиндромами.

1.12. Удалить из текста все цифры. Подсчитать количество удаленных цифр.

1.13. В заданном тексте заменить заданную последовательность символов на другую заданную последовательность символов.

1.14. В заданном тексте удалить все части текста, заключенные в скобки (вместе со скобками).

1.15. Текст задан следующим образом: первый символ - цифра, указывающая длину первого слова, за первым словом - вновь цифра, указывающая длину второго слова (длина каждого слова <=9) и т.д. Выписать К-тое слово из текста или вывести сообщение, что слова с таким номером нет.

1.16. Дан текст, слова отделены одним пробелом. Сформировать новый текст, в котором слова разделены двумя пробелами.

1.17. Дан текст. Вывести на экран текст, удалив из него лишние пробелы (в начале, в конце, между словами оставить по одному пробелу) и указать количество удаленных пробелов.

1.18. Напечатать фразу, исправленную по следующим правилам:

1) несколько подряд идущих пробелов заменить одним;

2) между словом и знаком препинания (. , : ;) пробела быть не должно;

3) После знака препинания должен быть пробел.

1.19. Ученики зашифровывают свои записки, записывая каждое слово наоборот. Составить программу зашифровывающую сообщение. Знаки препинания оставить на своих местах.

1.20. Дан текст. Вывести сообщение является ли этот текст палиндромом (т.е. первый символ совпадает с последним, второй с предпоследним и т.д.). Пробелы в тексте не учитывать.

1.21. Дан текст.

а) Найти наибольшую длину слов-палиндромов. (Если таких нет, то вывести сообщение).

б) Выяснить, верно ли, что каждое слово, не являющее палиндромом, имеет четную длину.

1.22. В заданном тексте проверить наличие запятой перед каждым союзом "но". При отсутствии запятой поставить перед "но" знак ? (слова разделены двумя пробелами).

1.23. В текст, содержащий меньше 50 символов, равномерно вставить пробелы между словами, чтобы его длина составляла ровно 50 символов.

1.24. Разбить исходный текст на строки длиной не более 50 символов. Перенос на новую строку осуществлять на месте пробела (слова не переносить).

1.25. Задан текст. Напечатать буквы, на которые начинаются слова в тексте, в порядке убывания частоты их употребления.

1.26. Указать минимальное количество первых букв, по которым можно различить слова из заданного набора (слова разделены запятыми).

1.27. Пусть заданное число хранится в действительной переменной. Сколько различных цифр в записи этого действительного числа?

1.28. Дан текст. Какие прописные русские гласные буквы содержатся в нем?

1.29. Дан текст. Каких прописных русских букв в нем нет?

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

1.31. Дан текст. Определить, сколько слов в тексте содержит 1 слог, 2 слога, 3 слога.

Использование массивов.

2.1. Дан массив слов (количество слов <=12). Упорядочить этот массив по возрастанию длин слов. Посчитать количество слов заданных длин L1 и L2.

2.2. Дан массив слов (количество слов <=12). Упорядочить этот массив по первым буквам слов в лексикографическом порядке

2.3. Дан массив слов (количество слов <=12). Упорядочить этот массив в лексикографическом порядке. Затем вставить в массив новый элемент так, чтобы лексикографический порядок сохранился.

2.4. Вводим список фамилий (слова разделены запятой). Напечатать список в алфавитном порядке.

2.5. Задан список группы и пять оценок каждого студента. Фамилии от оценок и оценки друг от друга отделены символом *. Напечатать список группы и средний балл каждого студента.

2.6. Задан список группы студентов (фамилия, пол, год рождения). Данные для различных студентов отделяются запятыми, различные сведения об одном студенте - пробелами. Составить список студентов мужского пола, заданного года рождения.

2.7. Дан текст, содержащий список жильцов одного подъезда жилого дома с фамилиями и номерами квартир (разделитель запятая). Определите количество этажей дома по максимальному номеру квартиры в списке. На этаже 4 квартиры. Обеспечить вывод данных:

а) вывод фамилии по номеру квартиры;

б) вывод номера квартиры и этажа по фамилии;

в) вывод номера этажа по номеру квартиры.

2.8. Составить программу, которая по названию страны выводит название столицы этой страны. Названия стран и столиц вводятся в виде текста, слова разделены запятыми.

2.9. Задан текст, содержащий рост мужчины, рост женщины, имя мужчины, имя женщины (разделитель запятая). Вывести имя самого высокого мужчины и имя женщины, рост которой наиболее близок к женскому среднему росту.

2.10. Задан текст, содержащий фамилии и имена студентов (разделитель запятая). Определить, есть ли среди них однофамильцы с одинаковыми именами.

2.11. Задан текст. Выясните, сколько раз встречается каждый из символов предложенного текста.

2.12. Задан текст. В заданном тексте замените все последовательности повторяющихся символов на один символ и их количество, заключенное в скобки.

2.13. Задан текст, содержащий сведения о деталях: наименование, год начала выпуска, цена (без копеек), масса, ширина, длина, высота. Вывести только те из них, которые относятся к деталям с годом выпуска не ранее 1967, и подсчитать их полную стоимость.

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

2.15. Составить программу "Классный журнал". Задается текст, имеющий сведения о каждом ученике: фамилия, имя, поле посещений и оценки. Посчитать среднюю оценку за четверть, количество пропущенных занятий. Напечатайте: фамилию, имя, оценку за четверть, количество пропусков.

2.16. Составить программу назначения студентов на стипендию по результатам сессии, используя следующие правила:

1) если все оценки 5, то стипендия увеличивается в 2 раза;

2) если оценки 4 и 5, то назначается обычная стипендия;

3) если есть оценки 3, то стипендия не назначается.

В результате работы программы должен быть напечатан список группы с оценками и средним баллом каждого студента и два списка фамилий, назначенных на повышенную и обычную стипендии. Данные вводятся в виде текста: фамилия студента и три оценки. Фамилии от оценок и оценки друг от друга отделены запятой.

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

2.18. Вводятся четыре строки текста. Напишите программу для подсчета числа слов в каждой строке этого текста. Ваша программа должна вывести также общее число слов в этом тексте.

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

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

Системы счисления.

3.1. Даны две строки, содержащие очень длинные целые положительные числа. Составить третью строку, содержащую их сумму (имитация сложения двух чисел столбиком).

3.2. Перевести целое число из 2-ной системы счисления в 10-ную.

3.3. Перевести вещественное число из 2-ной системы счисления в 10-ную.

3.4. Шестнадцатеричное число записано в строчной переменной. Написать программу, которая переводит это число в десятичную систему счисления.

3.5. Перевести десятичное число в К-ичную (К<=16) систему счисления. Перевод дробной части ограничить пятью знаками.

3.6. Вывести все четырехзначные числа, которые в 2-ой (8-ой, 16-ой) системе счисления представляют палиндром.

3.7. Дано восьмеричное число. Увеличить его на А.

3.8. Вводятся любые числа. Количество известно. Сколько раз повторяется каждая цифра, и вывести ту, которая повторяется наибольшее количество раз.

Дополнительные.

4.1. Дан текст. Вывести на экране бегущую строку.

4.2. Дан текст.

а) Выяснить, имеются ли два слова, каждое из которых получается переворачиванием другого.

б) Удалить все слова, встречающиеся более двух раз.

4.3. Строка. Слова разделены одним или несколькими пробелами. В начале или в конце строки также могут находиться пробелы. Отредактировать строку, удалив из нее слова с количеством символов больше 4 и меньше 10, в которых нет повторяющихся символов, сохранив при этом первоначальное количество пробелов между остальными словами. Если таких слов нет, то выдать соответствующее сообщение.

4.4. Строка. Слова разделены одним или несколькими пробелами. В начале или в конце строки также могут находиться пробелы. Отредактировать строку, удалив из нее уникальные слова (т.е. не повторяющиеся), сохранив при этом первоначальное количество пробелов, между словами. Если таких слов нет, то выдать соответствующее сообщение.

4.5. Имеется непустая последовательность произвольных натуральных чисел, за которой следует ноль. Не используя массивов вывести в строку порядковые номера наибольших чисел в последовательности.

4.6. Среди простых чисел, не превосходящих заданного натурального числа N, найти такое, запись которого в двоичной системе счисления содержит максимальное число единиц. Если таких чисел несколько, найти минимальное среди них (конец ввода строк - это строка, первый символ которой *). В каждой строке текста содержится некоторое количество символьных конструкций вида x=y, где x - запись целого числа в восьмеричной системе счисления, y - запись того же числа в двоичной системе счисления. Определить количество правильных и неправильных записей.

Например:

1 строка : 1=1 256=10101110 300=011000000

2 строка : 555=101111101 666=110110110

3 строка : 350=01101000 770=111111000

Ответ: Общее количество заданий = 7

      Количество правильных записей = 4

      Количество неправильных записей = 3

4.8. В одну и туже непрерывную последовательность вводятся слова русского текста. Количество слов заранее не известно. Определить есть ли буквы, которые встретились во всех словах. Вывести на экран эти буквы или сообщение, что таких букв нет. Кроме того определить количество введенных слов.

4.9. В текстовую переменную вводятся три произвольные буквы. Затем в одну и ту же символьную переменную вводится N слов. Определить и вывести на экран слова, в которых заданные три буквы встретились хотя бы один раз каждая; кроме того определить количество таких слов. Расположение заданных букв в словах безразлично.

4.10. В одномерные массивы A и B введены цифры целых положительных слагаемых в двоичной системе счисления. Количество цифр в первом слагаемом N, во втором - M (N и M не более 15). Составить программу сложения этих чисел в двоичной системе счисления. Результат вывести на экран в виде строки. Незначащие нули не выводить. Предусмотреть проверку правильности ввода информации.

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

Примеры: обычная запись   постфиксная запись

          3+4                 34+

          (5-4)+2           54-2+

          2*(3+4)*5       234+*5*

4.12. Дано натуральное число N (N<=1000). Записать это число русскими словами (семнадцать, двести пятьдесят три, тысяча и т.д.).

4.13. Для большинства существительных, оканчивающихся на -онок и -енок, множественное число образуется от другой основы. Как правило это происходит по образцу: цыпленок-цыплята, мышонок-мышата и т.д. (в новой основе перед по следней буквой т пишется а или я в зависимости от предыдущей буквы: если это шипящая, то а, иначе - я). Имеются слова исключения: ребенок (дети), бесенок (бесенята), опенок (опята), звонок (звонки), позвонок (позвонки), подонок (подонки), колонок (колонки), жаворонок (жаворонки), бочонок (бочонки). Дан русский текст, слова разделены пробелом. Слова, оканчивающиеся на -онок или -енок заменить словами во множественном числе.

Файлы

Текстовые файлы.

1. Написать программу, определяющую количество строк в текстовом файле и на ходит максимальную длину строки.

2. Написать программу, формирующую текстовый файл из 9 строк, в первой из которых - одна литера '1', во второй - две литеры '2', ...., в девятой - девять литер '9'.

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

а) начинаются с буквы d;

б) оканчиваются буквой z;

в) начинаются и оканчиваются одной и той же литерой;

г) состоят из одинаковых литер.

4. В текстовый файл t1 записана последовательность целых чисел, разделенных пробелами. Написать программу, записывающую в текстовый файл t2 все положительные числа из t1.

5. Дан текстовый файл, содержащий список слов, упорядоченный в алфавитном порядке. Написать программу, вставляющую очередное слово на нужное место. Результат поместить в новый текстовый файл. Максимальная длина слова равна 16 букв.

6. Протокол лыжных гонок записать в файле. Для каждого участника вводится фамилия, время старта (часы, минуты, секунды), время финиша. Используя сформированный файл, вывести на экран фамилии участников, выполнивших норму ГТО.

7. Сформировать файл из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилии писателей). Используя сформированный файл, напечатать фамилии пяти наиболее популярных писателей.

8. Сформировать файл по результатам сдачи сессии (три экзамена) группой студентов. Информация об одном студенте вводится в символьном виде в следующем порядке: фамилия*N1*N2*N3, где N(i) (i=1,2,3) - оценки. Используя сформированный файл, результаты сессии вывести на экран в виде таблицы. В шапке таблицы вывести названия предметов.

9. Сформировать файл из фамилий и дат (день, месяц и год) рождения Ваших друзей. Используя сформированный файл, вывести на экран дисплея имена, начинающиеся с
буквы А.

10. Сформировать файл, имеющий следующую структуру: фамилия студента, пол (одна буква М или Ж), год рождения. Напечатать список студентов мужского пола с указанием их возраста. В конце списка напечатать средний возраст.

11. Сформировать файл, содержащий информацию об автолюбителях: фамилия, марка автомобиля, цвет. Использую сформированный файл, вывести на экран сведения об автолюбителях, имеющих автомобиль "Жигули" зеленого цвета.

12. Сформировать файл о студентах одного курса (фамилия, пол, год рождения, месяц рождения). Используя сформированный файл, вывести на экран фамилии студентов мужского пола, родившихся летом (июнь, июль, августа).

13. Сформировать файл, содержащий информацию о поездах, отправляющихся с Ленинградского вокзала г. Москвы (номер поезда, станция назначения, время отправления, время в пути). Используя сформированный файл, вывести на экран информацию о поездах, отправляющихся в Ленинград от 21 до 24 часов.

14. Сформировать файл, содержащий информацию о поездах, отправляющихся с Ленинградского вокзала г. Москвы (номер поезда, станция назначения, время отправления, время в пути). Используя сформированный файл, вывести на экран информацию о поездах, следующих в г.Ленинград и находящихся в пути менее 8 часов.

15. Сформировать файл, содержащий информацию о бытовых магнитофонах: марка магнитофона, его стоимость. Используя сформированный файл, вывести информацию о магнитофонах стоимостью менее 200 усл.ед.

16. Сформировать файл, содержащий данные о книгах по программированию Вашей личной библиотеки (фамилия автора и его инициалы, название книги, название издательства, год издания). Используя сформированный файл, вывести на экран фамилии и названия книг, выпущенных издательством "Мир".

17. Сформировать файл, содержащий сведения о магазинах Вашего города : название магазина (универмаг, продукты, ткани и т.п.), его номер, адрес. Используя сформированный файл, вывести на экран информацию обо всех магазинах "Книги".

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

Пример таблицы:

       Франция Австрия Польша

Январь +2     -1     -2

Февраль 0     +1      0

................

Определить, какой месяц и в какой стране самый холодный.

19. Текстовый файл AH_IN.TXT содержит сведения о наличии лекарственных препаратов и их количестве в штуках в каждой из 20 аптек города. Файл AP_KOR.TXT содержит сведения о новых поступлениях в аптеки, либо сведения о пополнении старых запасов. Требуется обновить информацию файла AP_IN.TXT.

Примечание: новые препараты, а также сведения о дополнительных поступлениях могут быть не для аптек. Если фонд некоторой аптеки не изменился, то ее номер отсутствует в файле AP_KOR.TXT.

20. Текстовый файл AP1.TXT содержит сведения о наличии лекарственных препаратов в аптеках горда и сроке их годности. Требуется создать файл AP2.TXT

a) содержащий список препаратов с истекшим сроком годности для каждой аптеки;

b) содержащий список препаратов, годных к употреблению.

Структура файла AP1.TXT:

145

панадол 06/09

аспирин 10/98

аллохол 12/97

210

анальгин 04/98

аспирин 12/99

Примечание: срок годности дается в формате мм/гг. Количество пробелов в начале каждой строки и между словами произвольно.

21. Текстовый файл TAB.TXT содержит сведения о наличии товаров и их цене в некоторых магазинах города. Требуется определить магазин с наиболее широким ассортиментом товаров, при этом на экран вывести номера магазинов, наименования товаров и цену одной единицы товара.

Структура файла: первая строка содержит наименование товаров; слова записаны через один или несколько пробелов (не более 10 наименований). Каждая следующая строка содержит номер магазина (3 позиции), далее через пробел цену каждого товара, в том порядке, в котором наименования товаров представлены в первой строке файла, если товар в магазине отсутствует, то ставится символ "*".

       Пример таблицы:

       яблоки       свекла        бананы      виноград   морковь

143 10          *            7            20          3

127 *            3            8            35          3

22. На соревнованиях по стрельбе каждый из спортсменов совершил по шесть серий выстрелов. Победитель определяется по наилучшей сумме результатов, показанных во всех сериях. Результаты соревнования хранятся в текстовом файле LIST04.TXT. Каждая строка содержит восемь полей. Первое - содержит фамилию спортсмена. Второе - содержит название страны. Остальные шесть полей - числового типа, они содержат результаты, полученные спортсменом в каждой из шести серий выстрелов (через пробел).

 

       Пример таблицы:

Смитсон               Швеция                98 85 92 99 98 89

Кузнецов              Россия                          78 67 50 90 87 67

Шмидт                  Германия         97 94 98 98 88 91

Коваль                  Украина                92 99 98 97 97 98

 

Определить участников, получивших лучший результат.

Типизированные файлы.


Дата добавления: 2018-11-24; просмотров: 464; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!