Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB01.DOC
Скачиваний:
0
Добавлен:
11.11.2019
Размер:
70.66 Кб
Скачать

1.4. Доступ до компонентів класу.

Доступ до компонентів класу можливий за допомогою опера­торів доступу . (крапка) і > .

Оператор . використовується з класовими об’єктами. Наприк­лад, в приведеній програмі, до елемента print() здтйснено дос­туп за допомогою класового об’єкта V наступним чином:

V.print();

Оператор -> використовується з вказівниками на класові об’єкти:

Ccomplex * W = new Ccomplex;

W->print();

Тут оператор new створює новий об’єкт типу Ccomplex з вказівником W на цей об’єкт.

Завдання.

  1. Змінити реалізацію класу Ccomplex з наведеного прикладу для використання

полярних координат замість пар (дійсне, уявне). Як ця зміна вплине на код

користувача?

  1. Обчислити суму '+' двох кватерніонів

  1. Обчислити різницю '-' двох кватерніонів.

  1. Обчислити добуток '*' двох кватерніонів.

Кватерніони - це числа вигляду:

q = a + b*i + c*j + d*k, q'= a'+ b'*i + c'*j + d'*k ,

де

i2 = j2 = k2 = -1 ;

i*j = k, j*i = -k;

j*k = i, k*j = -i;

k*i = j, i*k = -j;

Сума ( різниця ) кватерніонів.

q + q' = (a+a') + (b+b')*i + (c+c')*j + (d+d')*k ;

q - q' = (a-a') + (b-b')*i + (c-c')*j + (d-d')*k ;

Добуток кватерніонів.

q*q' = (a*a' - b*b' - c*c' - d*d') +

+ (a*b' + b*a' + c*d' - d*c') +

+ (a*c' + c*a' + d*b' - b*d') +

+ (a*d' + d*a' + b*c' - c*b') ;

Ввести в розгляд клас Quoter, помістивши опис його в файл quoter.h ; Тут же помістити опис friend-функцій-операторів +, -, * ; У файлі реалізації quoter.cpp помістити опис конструктора, деструктора … Виконати все по аналогії з класом Ccomplex.

  1. Обчислити суму '+' двох n-мірних векторів, задаючи і розмірність і координати в головній програмі константами. Ввести в розгляд клас Vector.

  2. Обчислити різницю '-' двох n-мірних векторів, задаючи і розмірність і координати в головній програмі константами. Ввести в розгляд клас Vector.

  1. Обчислити скалярний добуток ‘*’ двох n-мірних векторів, задаючи і розмірність і координати в головній програмі константами. Ввести в розгляд клас Vector.

  1. Обчислити скалярний добуток ‘*’ двох m-мірних векторів, задаючи і розмірність і координати в головній програмі. Координатами векторів є залишок по mod n (n - порядковий номер студента в групі, m  3) від відповідних цілих координат якихось двох інших векторів. Ввести в розгляд клас Natur.

  1. Задано m-мірний вектор, координатами якого є цілі числа. Другий m- мірний вектор має координатами залишок по mod n (n - порядковий номер студента в групі, m  3) від відповідних координат першого вектора. Знайти “кут” між заданими векторами, обчисливши скалярний добуток цих векторів двома способами. Ввести клас Integer.

  1. Задана квадратна матриця розмірності m  3. Матрицю задати в класі Matr. Знайти скалярний добуток діагоналей. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.

  1. Задана квадратна матриця розмірності m  3. Матрицю задати в класі Matr. Знайти скалярний добуток першого рядка матриці на перший стовбець. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.

  1. Задана квадратна матриця розмірності m  3. Матрицю задати в класі Matr. Знайти скалярний добуток головної діагоналі на перший рядок матриці. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.

  1. Задана квадратна матриця розмірності m  3. Матрицю задати в класі Matr. Знайти скалярний добуток головної діагоналі на m-мірний вектор, кожна координата якого є залишок по mod n (n - порядковий номер студента в групі) від різних елементів головної діагоналі. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.

  1. Задана квадратна матриця розмірності m  3. Матрицю задати в класі Matr. Знайти скалярний добуток першого рядка на m-мірний вектор, кожна координата якого є залишок по mod n (n - порядковий номер студента в групі) від різних елементів бічної діагоналі. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.

  1. Задана квадратна матриця розмірності m  3. Матрицю задати в класі Matr. Знайти скалярний добуток першого рядка матриці на m-мірний вектор, кожна координата якого є залишок по mod n (n - порядковий номер студента в групі) від різних елементів першого стовбця. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.

  2. Задана квадратна матриця розмірності m  3. Матрицю задати в класі Matr. Знайти скалярний добуток першого рядка матриці на m-мірний вектор, кожна координата якого є залишок по mod n (n - порядковий номер студента в групі) від різних елементів останнього стовбця. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.

18 Задана квадратна матриця дійсних чисел m  3. Написати програму

транспонування цiєї матрицi (помiняти рядки iз стовпцями). Матрицю задати

в класі Matr. Розмірність задати в головній програмі константою.

19. Задана квадратна матриця дiйсних чисел m  3. Знайти середнє арифме-

тичне додатнiх елементiв, якi знаходяться на дiагоналях, пара-

лельних до головної (побiчної) дiагоналi i записати результат в

окремий вектор. Розмірність задати в головній програмі константою.

Матрицю задати в класі Matr.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]