Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания и методические указания.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
398 Кб
Скачать
☆

Задания к лабораторной работе 3

  1. Для строки символов реализовать операции:

а) сравнение строк (операция ==);

б) удаление из строки заданного символа (операция –).

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

  1. Для строки символов реализовать операции:

а) проверка в строке наличия заданного символа (операция !);

б) перевод указанного символа строки в код ASCII(операция %).

Членом класса сделать функцию с именем strlen() для нахождения суммы кодов ASCII всех символов данной строки.

  1. В британском формате дата задается как число/месяц/год. Реализовать с учетом високосных годов:

а) сложение даты и заданного количества дней (операция +);

б) вычитание из даты заданного количества дней (операция –).

Кроме того, членом класса сделать функцию с именем printf() для вывода конечной даты.

  1. В британском формате дата задается как число/месяц/год. Реализовать с учетом високосных годов:

а) определение числа дней, прошедших между двумя датами (операция %);

б) нахождение порядкового номера даты в заданном году (операция /).

Членом класса сделать функцию с именем printf() для вывода конечной даты.

  1. Ввести класс для работы с прямоугольной матрицей. Реализовать операции:

а) сложение двух матриц (операция +);

б) умножение двух матриц (операция *).

Членом класса сделать функцию printf() для вывода конечной матрицы и ее модуля.

  1. Ввести класс для работы с прямоугольной матрицей. Реализовать операции:

а) проверка наличия заданного числа в заданной матрице (операция !);

б) вычитание двух матриц (операция –).

Членом класса сделать функцию с именем printf() для вывода конечной матрицы и ее модуля.

  1. Время задается в формате час/минута/секунда. Реализовать следующие операции(учесть переход через 24 часа):

а) сложение времени и заданного количества секунд (операция +);

б) вычитание из времени заданного количества секунд (операция –).

Членом класса сделать функцию с именем printf() для вывода конечного времени.

  1. Время задается в формате час/минута/секунда. Реализовать следующие операции (учесть переход через 24 часа):

а) вычитание из одного момента времени другого (операция –);

б) подсчет числа секунд между двумя моментами времени в пределах одних суток (операция %).

Членом класса сделать функцию printf() для вывода конечного времени.

  1. Время задается в формате час/минута/секунда. Реализовать следующие операции (учесть переход через 24 часа):

а) сложение двух моментов времени(операция +);

б) определение времени дня по заданному количеству пройденных секунд(операция /).

Членом класса сделать функцию printf() для вывода конечного времени.

  1. Ввести класс для работы с объектом «полином». Реализовать операции:

а) сложение двух полиномов (операция +);

б) умножение двух полиномов (операция *).

Членом класса сделать функцию printf() для вывода конечного полинома.

  1. Ввести класс для работы с объектом «полином». Реализовать операции:

а) вычитание двух полиномов (операция –);

б) деление двух полиномов (операция /).

Членом класса сделать функцию printf() для вывода конечного полинома.

  1. Ввести класс для работы с объектом «полином». Реализовать операции:

а) умножение полинома на число (операция &);

б) вычисление значения полинома в заданной точке Х (операция |).

Членом класса сделать функцию printf() для вывода конечного полинома.

  1. Ввести класс для работы с объектом «множество целых чисел». Реализовать следующие операции:

а) объединение двух множеств (операция +);

б) пересечение двух множеств (операция &).

Членом класса сделать функцию printf() для вывода конечного множества.

  1. Ввести класс для работы с объектом «множество целых чисел». Реализовать следующие операции:

а) разность двух множеств (операция –);

б) добавление элемента во множество (операция +).

Членом класса сделать функцию printf() для вывода конечного множества.

  1. Ввести класс для работы с объектом «множество целых чисел». Реализовать следующие операции:

а) удаление элемента из множества (операция –);

б) проверка наличия заданного элемента в заданном множестве (операция /). Членом класса сделать функцию printf() для вывода конечного множества.

  1. Ввести класс работы с объектом «рациональная дробь» вида m/n. Реализовать:

а) сложение дробей (операция +);

б) умножение двух дробей (операция *).

Членом класса сделать функцию printf() для вывода конечной дроби в виде m/n.

  1. Ввести класс работы с объектом «рациональная дробь» вида m/n. Реализовать:

а) вычитание дробей (операция –);

б) деление двух дробей (операция /).

Членом класса сделать функцию с именем abs() для приведениея дроби к несократимому виду.

  1. Ввести класс работы с объектом «рациональная дробь» вида m/n. Реализовать:

а) сравнение двух дробей (операция ||);

б) возведение в целую положительную степень (операция ^).

Членом класса сделать функцию с именем printf() для вывода конечной дроби в несократимом виде m/n.

  1. Комплексное число задается своей вещественной и мнимой частями (например, 5+3i задается парой 5,3). Реализовать:

а) сложение чисел (операция +);

б) произведение двух чисел (операция *).

Членом класса сделать функцию printf() для вывода конечного числа в виде U+iV.

  1. Комплексное число задается своей вещественной и мнимой частями (например, 5+3i задается парой 5,3). Реализовать:

а) вычитание чисел (операция –);

б) возведение числа в целую положительную степень (операция ^).

Членом класса сделать функцию printf() для вывода конечного числа в виде U+iV.

  1. АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:

+ − добавить элемент в множество(типа char + set);

+ − объединение множеств;

= = − проверка множеств на равенство.

  1. АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:

- − удалить элемент из множества (типа set-char);

* − пересечение множеств;

< − сравнение множеств.

  1. АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:

- − удалить элемент из множества (типа set-char);

> − проверка на подмножество;

!= − проверка множеств на неравенство.

  1. АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:

+ − добавить элемент в множество (типа set+char);

* − пересечение множеств;

int()− мощность множества.

  1. АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:

() − конструктор множества (в стиле конструктора Паскаля);

+ − объединение множеств;

<= − сравнение множеств .

  1. АТД − множество с элементами типа char. Дополнительно перегрузить следующие операции:

> − проверка на принадлежность(char in set Паскаля);

* − пересечение множеств;

< − проверка на подмножество.

  1. АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:

+ – объединить списки (list+list);

-- – удалить элемент из начала (типа --list);

= = – проверка на равенство.

  1. АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:

+ – добавить элемент в начало(char+list);

-- – удалить элемент из начала(типа –list);

= = – проверка на равенство.

  1. АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:

+ − добавить элемент в конец (list+char);

-- − удалить элемент из конца (типа list--);

!= − проверка на неравенство.

  1. АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:

[] − доступ к элементу в заданной позиции, например:

int i; char c;

list L;

c=L[i];

+ − объединить два списка;

= = − проверка на равенство.

  1. АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:

[] − доступ к элементу в заданной позиции, например:

int i; char c;

list L;

c=L[i];

+ − объединить два списка;

!= − проверка на неравенство.

  1. АТД − однонаправленный список с элементами типа char. Дополнительно перегрузить следующие операции:

() − удалить элемент в заданной позиции, например :

int i;

list L;

L[i];

() − добавить элемент в заданную позицию, например :

int i; char c;

list L;

L[с,i];

!= − проверка на неравенство.

  1. АТД − стек. Дополнительно перегрузить следующие операции:

+ − добавить элемент в стек;

− − извлечь элемент из стека;

bool()− проверка, пустой ли стек.

  1. АТД − очередь. Дополнительно перегрузить следующие операции:

+ − добавить элемент;

− − извлечь элемент;

bool() – проверка, пустая ли очередь.

  1. АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:

+ − сложение векторов (a[i]+b[i] для всех i);

[] − доступ по индексу;

+ − добавить число к вектору (double+vector).

  1. АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:

- − вычитание векторов (a[i]-b[i] для всех i);

[] − доступ по индексу;

- − вычесть из вектора число (vector-double).

  1. АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:

* − умножение векторов (a[i]*b[i] для всех i);

[] − доступ по индексу;

* − умножить вектор на число (vector*double).

  1. АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:

int() − размер вектора;

() − установить новый размер;

- − вычесть из вектора число (vector-double);

[] − доступ по индексу;

  1. АТД − одномерный массив (вектор) вещественных чисел. Дополнительно перегрузить следующие операции:

= − присвоить всем элементам вектора значение (vector=double);

[] − доступ по индексу;

= = − проверка на равенство;

!= − проверка на неравенство;

  1. АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:

() − доступ по индексу;

* − умножение матриц;

* − умножение матрицы на число;

* − умножение числа на матрицу.

  1. АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:

() − доступ по индексу;

- − разность матриц;

- − вычесть из матрицы число;

= = − проверка матриц на равенство.

  1. АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:

() − доступ по индексу;

= − присвоить всем элементам матрицы значение (matr=double);

+ − сложение матриц;

+ − сложить матрицу с числом (matr+double).

  1. АТД − двухмерный массив (матрица) вещественных чисел. Дополнительно перегрузить следующие операции:

() − доступ по индексу;

= = − проверка матриц на равенство;

++ − транспонировать матрицу.