Глава 6. Строковый тип данных. Комбинированный тип данных.

Задание 6.1.*

Написать программу, которая в строке произвольной длины находит символ «а» и удаляет за ним 5 символов.

Задание 6.2*

Составить программу подсчета общего количества цифр и знаков «+», «—»,«*» в строке s, введенной с клавиатуры.

Задание 6.3.**

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

Задание 6.4.*

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

Задание 6.5.*

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

Задание 6.6.**

Составить программу печати в алфавитном порядке всех букв текста (текст оканчивается точкой), входящих в него:

а) не менее двух раз;

б) не более двух раз;

в) более двух раз.

Задание 6.7*-s

Написать программу, которая осуществляет ввод чисел в формате integer и real и дает возможность повторного ввода, если сделана ошибка при вводе данных.

Задание 6.8*

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

Задание 6.9.***

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

Задание 6.10.**

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

Задание 6.11

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

Задание 6.12.**

Составить программу поиска и печати в порядке убывания вех простых чисел из промежутка [2 ... 201], используя метод «решета Эратосфена».

Задание 6.13.***

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

а) которыми обеспечены все техникумы;

б) которые имеет хотя бы один техникум;

в) которых нет ни в одном техникуме.

 

 

Задание 6.14.****

Написать программу, определяющую:

а) дату следующего (предыдущего) дня;

б) дату, которая наступит через т дней;

в) дату, которая была за т дней до сегодня;

г) число суток, прошедших от даты t1 до t2;

д) день недели, выпадающий на дату (t1, если известно, что в первый день нашей эры был понедельник.

Задание 6.15.*

Программа вводит строку. Если длина строки < 15 символов, то программа вводит вторую строку и выводит на экран конкатенацию двух строк , если длина объединенной строки меньше 70 символов.

Задание 6.16.*

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

Задание 6.17.**

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

Задание 6.18.*

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

Задание 6.19.**

Программа вводит две строки и выводит меньшую строку зеленым цветом, а большую строку – красным.

Задание 6.20.**

Написать программу, которая вводит строку символов произвольной длины, и выводит ее на экран, заменяя все сочетания символов «нет» на «да».

Задание 6.21.*

Программа вводит две строки. Если длина второй строки больше 70 символов, то программа выводит на экран символы первой строки с нечетными номерами. Если длина первой строки меньше 15 символов, то программа выводит символы второй строки с четными номерами.

Задание 6.22.**

Подсчитать количество цифр в записи числа n в системе счисления с основанием k

Задание 6.23.*

Программа вводит две строки. Вывести на экран, сколько букв «П» в длинной строке, и сколько букв «R» в короткой строке. Результат вывести на экран.

Задание 6.24.*

Программа вводит две строки. Вывести на экран конкатенацию строк, а также вывести каждую строку на экран, если в ней имеется подстрока «окр».

Задание 6.25.***

Дана произвольная последовательность символов, в которой сочетание символов «con» является признаком конца последовательности. Найти, сколько раз в ней встретилось сочетание «дом».

Задание 6.26.**

Написать программу, которая строке произвольной длины удалят все «+», если за ними следуют не цифры.

Задание 6.27.*

Написать программу, которая в строке произвольной длины находит символ «а» и удаляет за ним 5 символов.

Задание 6.28.*

Написать программу, которая в строке произвольной длины определяет, есть ли в ней хотя бы одна подстрока «лом», и, если есть, то ее удаляет.

Задание 6.29.**

Написать программу, которая в строке произвольной длины заменяет все «+» на « *», если за ними следуют не цифры.

Задание 6.30.*

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

Задание 6.31.**

Программа вводит две строки. Из более длинной строки программа выводит все символы, коды которых >70. В короткой строке заменяет все «!» знаки на «*» и выводит короткую строку на экран.

Задание 6.32.**

Написать программу, которая вводит строку. Если строка имеет длину не более 15 символов, то вводит вторую строку. Если в конкатенации двух строк >70 символов, то на экран выводит символы конкатенации двух строк с 40-й по 60-й позиции. Если первая строка оказалась длиннее 15 символов, то программа выводит все символы, стоящие в четных позициях первой строки.

Задние 6.33.**

Написать программу, которая преобразует строку S, имеющую длину не более 70 символов, циклически сдвигая её элементы на K позиций.

Задание 6.34.***

Заменить в строке Х все вхождения подстроки У на подстроку Z, помните, что соотношение длины X, Y и Z может быть любым.

Задание 6.35.**

Программа вводит 2 строки, затем из короткой строки вывод на экран символы, код которых больше 70, а из длинной строки – все цифры.

Задание 6.36.*

Программа вводит одну строку. Если длина строки больше 10 символов, то программа вводит на экран конкатенацию двух строк и длину объединенной строки.

Задание 6.37.*

Программа вводит 10 строк, выводит на экран слияния 1 и 10 строки, 2 и 9, и т.д.

Задание 6.38.*

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

Задание 6.39.*

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

Задание 6.40.*

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

Задание 6.41.-s *

Программа вводит две строки с клавиатуры, выводит на экран конкатенацию 2-х строк и длину объединенной строки.

 


Глава 7 Структуры

Задание 7.1.*

Написать программу, которая в третье поле структуры, имеющей 5 целочисленных полей, заносит значение 5. Вывести это значение на экран.

Задание 7.2.*

Написать программу, которая во второе поле структуры, имеющей 3 целочисленных поля, заносит значение 9. Вывести это значение на экран.

Задание 7.3.*

Заполнить с клавиатуры массив структуры, состоящих из 5 строк. Каждая структура имеет 3 поля типа string(фамилия, имя, отчество). Программа определяет, сколько записей имеют длину >10 символов в поле «отчество».

Задание 7.4.**

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

Задание 7.5.*

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

Задание 7.6.*

Используя готовый модуль с иерархической структурой бухгалтер(Фамилия, Имя)-младший бухгалтер(поля: Фамилия, Имя, Стаж)-старший бухгалтер(поля: Фамилия, Имя, Зарплата), написать программу, которая создает массив из 10 динамических объектов старший бухгалтер и вывести на экран тех из них, у которых зарплата от 6 до 8 тысяч рублей.

Задание 7.7.*

Используя готовый модуль с иерархической структурой бухгалтер(Фамилия, Имя)-младший бухгалтер(поля: Фамилия, Имя, Стаж)-старший бухгалтер(поля: Фамилия, Имя, Зарплата), написать программу, которая создает массив из 10 динамических объектов младший бухгалтер. Вывести на экран всех младших бухгалтеров со стажем >1 года

Задание 7.8.*

Используя готовый модуль с иерархической структурой человек-студент-преподаватель написать программу, которая создает массив из 5 статических объектов студент(поля: фамилия, имя, группа) и вывести на экран тех студентов, у которых в фамилии есть буква «ф», а в имени буквы «ф» нет

Задание 7.9.**

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

Задание 7.10.**

Создать массив из динамических объектов преподаватель, вывести на экран тех преподавателей, у которых длинна фамилии >10, стаж >30.

Задание 7.11. **

Заполнить с клавиатуры информацию о сотруднике: фамилия, имя, возраст и стаж. Записать в типизированный файл эту запись только в том случае, если возраст сотрудника<20 лет.

Ввести с клавиатуры информацию о 5 сотрудниках и переписать в файл информацию только о тех сотрудниках, возраст которых <20 лет, а их фамилия начинается на букву «Т».

Задание 7.12.**

Дан массив, содержащий информацию об ученикахнекоторой школы:

а) заполнить второй массив данными об учениках только девятых классов;руктурой бухгалтер(Фамилия, Имя)-младший бухгалтер(поля: Фамилия, Имя, Стаж)-старший бухгалтер(поля: Фамилия, Имя, Зарплата), написать программу, которая создает массив из 10 динамических объектов старший бухгалтер и вывести на экран тех из них, у которых зарплата от 6 до 8 тысяч рублей.

Задание 7.7.*

Используя готовый модуль с иерархической структурой бухгалтер(Фамилия, Имя)-младший бухгалтер(поля: Фамилия, Имя, Стаж)-старший бухгалтер(поля: Фамилия, Имя, Зарплата), написать программу, которая создает массив из 10 динамических объектов младший бухгалтер. Вывести на экран всех младших бухгалтеров со стажем >1 года

Задание 7.8.*

Используя готовый модуль с иерархической структурой человек-студент-преподаватель написать программу, которая создает массив из 5 статических объектов студент(поля: фамилия, имя, группа) и вывести на экран тех студентов, у которых в фамилии есть буква «ф», а в имени буквы «ф» нет

Задание 7.9.**

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

Задание 7.10.**

Создать массив из динамических объектов преподаватель, вывести на экран тех преподавателей, у которых длинна фамилии >10, стаж >30.

Задание 7.11. **

Заполнить с клавиатуры информацию о сотруднике: фамилия, имя, возраст и стаж. Записать в типизированный файл эту запись только в том случае, если возраст сотрудника<20 лет.

Ввести с клавиатуры информацию о 5 сотрудниках и переписать в файл информацию только о тех сотрудниках, возраст которых <20 лет, а их фамилия начинается на букву «Т».

Задание 7.12.**

Дан массив, содержащий информацию об ученикахнекоторой школы:

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

б) выяснить, на сколько человек в восьмых классах больше, чем в девятых.