Необходимы начальные знания о библиотеке стандартного ввода/вывода (подключаемый заголовочный файл – stdio.h
) в части работы с целыми и вещественными числами. Знание циклов и указателей.
Для вычисления математических операций использовать заголовочный файл math.h
.
- Программа компилируется, запускается и выводит правильный результат.
- В программах организован понятный для пользователя ввод/вывод (при запросе исходных данных соответствующий запрос должен выводиться на экран на литературном русском или английском языке с соблюдением правил написания; все пробелы, знаки препинания и пр. должны быть на месте; использование транслита запрещено).
- Строка представляет из себя массив символов и имеет тип
char*
. - Класс
String
использовать нельзя. - Результат выполнения функции вывести на экран в функции
main()
. - Внутри функции обработки строки не должно быть использовано функций ввода или вывода. Вся работа с консолью должна находиться в функции
main()
. - Ваша функция не должна возвращать
void
.
Пусть во входном потоке находится последовательность литер, заканчивающаяся точкой (кодировка ASCII
):
Выяснить, есть ли среди символов этой последовательности символы, образующие слово char.
Пусть во входном потоке находится последовательность литер, заканчивающаяся точкой (кодировка ASCII
). Вывести в выходной поток последовательность литер, измененную следующим образом:
Удалить все комбинации символов the;
- Описать структуру с именем
NOTE
, содержащую следующие поля:
NAME
- фамилия, имя;TELE
- номер телефона;BDAY
- день рождения (массив из трех чисел).
- Написать программу, выполняющую следующие действия:
- Ввод с клавиатуры данных в массив
BLOCKNOTE
, состоящий из элементов типаNOTE
; записи должны быть упорядочены по трем первым цифрам номера телефона; - Вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
- Если такого нет, выдать на дисплей соответствующее сообщение.
Написать программу, демонстрирующую работу с объектами двух типов: Т1
и Т2
, для чего создать систему соответствующих классов. Каждый объект должен иметь идентификатор (в виде произвольной строки символов) и одно или несколько полей для хранения состояния объекта (один класс является потомком другого). Клиенту (функции main()
) должны быть доступны следующие основные операции (методы): создать объект, удалить объект, показать значение объекта и прочие дополнительные операции (зависят от варианта). Операции по созданию и удалению объектов инкапсулировать в классе Factory
., Предусмотреть меню, позволяющее продемонстрировать заданные операции.
При необходимости в разрабатываемые классы добавляются дополнительные методы (например, конструктор копирования, операция присваивания и т. п.) для обеспечения надлежащего функционирования этих классов.
В таблице 1 и 2 перечислены возможные типы объектов и возможные дополнительные операции над ними. Здесь и далее в таблице рассматриваются только целые положительные числа.
Класс | Объект |
---|---|
SymbString |
Символьная строка (произвольная строка символов) |
BinString |
Двоичная строка (изображение двоичного числа) |
OctString |
Восьмеричная строка (изображение восьмеричного числа) |
DecString |
Десятичная строка (изображение десятичного числа) |
HexString |
Шестнадцатеричная строка (изображение шестнадцатеричного числа) |
Операция (метод) | Описание |
---|---|
ShowBin() |
Показать изображение двоичного значения объекта |
ShowOct() |
Показать изображение восьмеричного значения объекта |
ShowDec() |
Показать изображение десятичного значения объекта |
ShowHex() |
Показать изображение шестнадцатеричного значения объекта |
operator+(T&, T&) |
Для объектов SymbString — конкатенация строк; для объектов прочих классов — сложение соответствующих численных значений с последующим преобразованием к типу Т |
operator-(T&, T&) |
Для объектов SymbString — если s2 содержится как подстрока в s1, то результатом является строка, полученная из s1 удалением подстроки s2; в противном случае возвращается значение s1; для объектов прочих классов — вычитание соответствующих численных значений с последующим преобразованием к типу Т |
Номер | T1 | T2 | Операция (метод) |
---|---|---|---|
9 | SymbString |
HexString |
operator+(T&, T&) |
Требуется создать шаблон класса список геометрических фигур. Минимальная функциональность класса:
- Добавление: в начало, в конец, в позицию по номеру
- Удаление: из начала, из конца, по номеру
- Получение объекта: из начала, из конца, по номеру
- Операции (методы) по варианту
Перечень типов фигур:
Класс | Объект |
---|---|
Triangle |
Треугольник |
Square |
Квадрат |
Rectangle |
Прямоугольник |
Pentagon |
Пятиугольник |
Circle |
Окружность |
Фигуры задаются набором точек. (Окружность : координатой центра и радиусом).
Перечень дополнительных операций (методов):
Операция (метод) | Описание |
---|---|
move() |
Переместить объект на плоскости |
compareS(T& ob1, Т& оb2) |
Сравнить объекты ob1 и ob2 no площади |
compareP(T& ob1, Т& оb2) |
Сравнить объекты ob1 и ob2 no периметру |
compareC(T& ob1, Т& оb2) |
Сравнить объекты ob1 и ob2 no близости центра фигуры к началу координат |
Номер | T1 | T2 | Операция (метод) |
---|---|---|---|
9 | Triangle |
Pentagon |
move() ; Найти наименьшую по периметру фигуру |
Дан массив слов и подстрока. Удалить во всех словах массива все цифры, добавив в конец каждого слова столь символов '+', сколько цифр удалено из слова. Сформировать предложение из двух начальных символов тех слов, в которых заданная подстрока встречается более одного раза после 3-го символа.
Дан массив из N вещественных чисел. К каждому отрицательному элементу добавить минимальный положительный элемент. Сжать массив, удалив из него все элементы, кратные числу t. Освободившиеся в конце массива элементы заполнить количеством нулей в исходном массиве. Если элементы, расположенные за первым нулевым элементом, упорядочены в порядке возрастания, то найти сумму элементов массива, расположенных до последнего максимального элемента. Удалить из массива элементы, чей знак не совпадает со знаком минимального элемента. Отсортировать по убыванию часть массива между элементами с заданными индексами i1 и i2.
Цель: Знакомство с базовыми понятиями среды Qt Creator
, получение навыков создания нового проекта с визуальными компонентами, сохранения, запуска, размещения новых визуальных компонентов на форме.
Создание нового проекта, добавление пару лейблов и кнопок, впрочем ничего интересного.
Используя по необходимости элементы интерфейса QT
из раздела Input Widgets
( Line Edit
, Text Edit
, …) реализовать по нажатию кнопки обработку входных текстовых данных по своему варианту :
- Даны три строки: S1, S2, S3. Заменить в строке S1 первое|последнее|все вхождения строки S2 на S3.
Используя класс QLinkedList
реализовать программу с графическим интерфейсом для работы с массивом целых чисел.
- Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве.
Дан текстовый файл, содержащий табличные данные. В пределах строки столбцы отделены символом табуляции. Используя элемент QTableWidget
отобразить данные из файла. Реализовать пользовательский интерфейс добавления, изменения и удаления данных таблицы. Предусмотреть возможность сохранения изменений в файл.
- Сотрудники: ID, ФИО, паспортные данные, фотография, моб. телефоны, отдел, комната, раб. телефон.
Задание.
- Создать интерфейс приложения задачи предложенного варианта. Используя лейауты, удобно расположить элементы приложения Представить решение задачи и готовый исполняемый файл приложения.
- Добавить созданному приложению новую функциональность на основе событий. Создать события обработки «горячих клавиш» дублирующих функции кнопок, а при наведении курсора мыши на ячейку таблицы в компоненте ToolTip (всплывающая подсказка) должно отображаться ее текущее значение.
Варианты.
- Напишите программу, которая при клике левой кнопкой мыши в ячейке таблицы 10х10, в зависимости от положения указателя в поле надписи выводит: координаты элемента таблицы; порядковый номер элемента, квадрат и куб его значения. Создайте интерфейс программы: в таблице 10х10 числа получить случайным образом; создать компонент выбора и кнопки выполняемых действий; результат действий выводить в поле надписи.
Используя возможности QT
(разработать удобный интерфейс), построить график указанной функции. Окно программы должно содержать поля для ввода коэффициентов функции. Предусмотреть проверку корректности ввода исходных данных.
y = k * sin(x + b)
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
- номер максимального по модулю элемента массива.
- сумму элементов массива, расположенных после первого положительного элемента.
- Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [а, b], а потом - все остальные.
Соседями элемента Aij в матрице назовем элементы Akl, где
i - 1 < k < i + 1, j - 1 < l < j + 1, (k, l) ≠ (i, j)
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 х 10.
Найти сумму модулей элементов, расположенных выше главной диагонали.
Написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых.