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

Постановка задания

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

Написать программу, демонстрирующую концепцию перегрузки операторов.

Варианты контрольных заданий

  1. Задан вектор в n-мерном евклидовом пространстве. Реализовать:

  1. сложение векторов;

  2. вычитание векторов;

  3. скалярное произведение векторов;

  4. векторное произведение векторов;

  5. умножение вектора на скаляр.

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

  1. сложение даты и заданного количества дней;

  2. вычитание из даты заданного количества дней;

  3. сложение двух дат;

  4. вычитание из одной даты другой;

  5. вычисление числа дней, прошедших между двумя датами.

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

  1. сложение времени и заданного количества секунд;

  2. вычитание из времени заданного количества секунд;

  3. сложение двух моментов времени;

  4. вычитание из одного момента времени другого;

  5. подсчёт числа секунд между двумя моментами времени, лежащими в пределах одних суток.

  1. Комплексное число задаётся своим модулем и углом (например, число 10 * (cos( / 6) + i *sin( /6)) задаётся парой (10, /6)). Реализовать:

  1. сложение чисел, вычитание чисел;

  2. произведение чисел, деление чисел;

  3. возведение в целочисленную степень;

  4. извлечение квадратного корня.

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

  1. сложение чисел, вычитание чисел;

  2. произведение чисел, деление чисел ;

  3. возведение в целочисленную степень;

  4. извлечение квадратного корня.

  1. Определить класс для работы с объектом “полином”. Реализовать следующие операции:

  1. сложение двух полиномов, вычитание двух полиномов;

  2. умножение полинома на число;

  3. вычисление значения полинома в точке x;

  4. дифференцирование полинома;

  5. интегрирование полинома.

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

  1. объединение двух множеств;

  2. пересечение двух множеств;

  3. разность двух множеств;

  4. добавление элемента во множество;

  5. удаление элемента из множества.

  1. Определить класс для работы с объектом “рациональная дробь” вида m/n. Реализовать следующие операции:

  1. сложение и вычитание двух дробей;

  2. умножение двух дробей; деление двух дробей;

  3. приведение дроби к несократимому виду;

  4. вывод дроби в виде m/n;

  5. сравнение двух дробей.

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

  1. сложение матриц, вычитание матриц;

  2. умножение матрицы на скаляр, деление матрицы на скаляр;

  3. транспонирование матрицы;

  4. умножение матрицы слева на её транспонированную матрицу.

  1. Определить класс для работы с квадратной матрицей. Получить величину к одним из нижеуказанных способов и выполнить умножение матрицы на значение к:

  1. к – количество строк матрицы, не содержащих ни одного нулевого элемента;

  2. к – количество столбцов матрицы, содержащих хотя бы один нулевой элемент;

  3. к – количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент;

  4. к – номер строки матрицы, в которой находится наибольшая по длине возрастающая последовательность;

  5. к – сумма всех чётных элементов матрицы, стоящих после нечётных элементов;

  6. к – максимальный элемент среди элементов строк матрицы, упорядоченных по возрастанию или убыванию.

  1. Определить класс для работы с квадратной матрицей. Сформировать вектор B одним из нижеуказанных способов и умножить его на заданную матрицу:

  1. B – первая из строк матрицы, не содержащих ни одного положительного элемента;

  2. B – строка матрицы, среднее арифметическое элементов которой минимально;

  3. B – последний из столбцов матрицы, в которых имеются одинаковые элементы;

  4. B – последний из столбцов матрицы, содержащих минимальное количество различных элементов;

  5. B – первая из строк матрицы с максимальным количеством знакочередующихся элементов;

  6. каждый элемент вектора В равен количеству отрицательных элементов соответствующей строки матрицы, кратных 3 или 5;

  7. каждый элемент вектора В равен количеству максимальных элементов соответствующей строки матрицы;

  8. каждый элемент вектора В равен количеству минимальных элементов соответствующего столбца матрицы.

  1. Определить класс для работы с квадратной матрицей. Получить новую матрицу путём преобразования заданной матрицы одним из нижеуказанных способов и сложить её с исходной матрицей:

  1. поменять местами максимальные элементы нижнего и верхнего треугольников матрицы относительно главной диагонали;

  2. в каждой строке матрицы поменять местами первый максимальный и последний минимальный элементы;

  3. элементы строк матрицы, содержащих хотя бы одно простое число, расположить в порядке возрастания;

  4. элементы столбцов матрицы, не содержащих нулевых элементов, расположить в порядке убывания;

  5. элементы каждой строки матрицы, кратные заданному числу p, переставить в начало строки и расположить их в порядке возрастания;

  6. положительные элементы каждого столбца матрицы переставить в конец столбца и расположить их в порядке убывания.

  1. Определить класс для работы с квадратной матрицей. Получить новую матрицу путём преобразования заданной матрицы одним из нижеуказанных способов и умножить её на исходную матрицу:

  1. переставить строки матрицы в порядке возрастания элементов первого столбца;

  2. заменить максимальные элементы строк матрицы, не содержащих чётных элементов, на обратные величины;

  3. элементы каждого столбца матрицы, стоящие за первым максимальным элементом столбца, расположить в порядке возрастания;

  4. элементы столбцов матрицы, не содержащих положительных элементов, заменить суммой их цифр;

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

  1. Определить класс для работы с «Булевой матрицей» размерности (n, m). Реализовать следующие операции:

  1. логического сложения матриц;

  2. логического умножения матриц;

  3. инверсии матриц;

  4. получения количества строк матрицы, не содержащих ни одного нулевого элемента.

  1. Известно, что в каждой строке и каждом столбце квадратной матрицы имеется единственный отрицательный элемент; переставить строки матрицы так, чтобы отрицательные элементы находились на главной диагонали.