Глава 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.**
Дан массив, содержащий информацию об ученикахнекоторой школы:
а) заполнить второй массив данными об учениках только девятых классов;
б) выяснить, на сколько человек в восьмых классах больше, чем в девятых.