
1.4. Доступ до компонентів класу.
Доступ до компонентів класу можливий за допомогою операторів доступу . (крапка) і > .
Оператор . використовується з класовими об’єктами. Наприклад, в приведеній програмі, до елемента print() здтйснено доступ за допомогою класового об’єкта V наступним чином:
V.print();
Оператор -> використовується з вказівниками на класові об’єкти:
Ccomplex * W = new Ccomplex;
W->print();
Тут оператор new створює новий об’єкт типу Ccomplex з вказівником W на цей об’єкт.
Завдання.
Змінити реалізацію класу Ccomplex з наведеного прикладу для використання
полярних координат замість пар (дійсне, уявне). Як ця зміна вплине на код
користувача?
Обчислити суму '+' двох кватерніонів
Обчислити різницю '-' двох кватерніонів.
Обчислити добуток '*' двох кватерніонів.
Кватерніони - це числа вигляду:
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.
Обчислити суму '+' двох n-мірних векторів, задаючи і розмірність і координати в головній програмі константами. Ввести в розгляд клас Vector.
Обчислити різницю '-' двох n-мірних векторів, задаючи і розмірність і координати в головній програмі константами. Ввести в розгляд клас Vector.
Обчислити скалярний добуток ‘*’ двох n-мірних векторів, задаючи і розмірність і координати в головній програмі константами. Ввести в розгляд клас Vector.
Обчислити скалярний добуток ‘*’ двох m-мірних векторів, задаючи і розмірність і координати в головній програмі. Координатами векторів є залишок по mod n (n - порядковий номер студента в групі, m 3) від відповідних цілих координат якихось двох інших векторів. Ввести в розгляд клас Natur.
Задано m-мірний вектор, координатами якого є цілі числа. Другий m- мірний вектор має координатами залишок по mod n (n - порядковий номер студента в групі, m 3) від відповідних координат першого вектора. Знайти “кут” між заданими векторами, обчисливши скалярний добуток цих векторів двома способами. Ввести клас Integer.
Задана квадратна матриця розмірності m 3. Матрицю задати в класі Matr. Знайти скалярний добуток діагоналей. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.
Задана квадратна матриця розмірності m 3. Матрицю задати в класі Matr. Знайти скалярний добуток першого рядка матриці на перший стовбець. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.
Задана квадратна матриця розмірності m 3. Матрицю задати в класі Matr. Знайти скалярний добуток головної діагоналі на перший рядок матриці. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.
Задана квадратна матриця розмірності m 3. Матрицю задати в класі Matr. Знайти скалярний добуток головної діагоналі на m-мірний вектор, кожна координата якого є залишок по mod n (n - порядковий номер студента в групі) від різних елементів головної діагоналі. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.
Задана квадратна матриця розмірності m 3. Матрицю задати в класі Matr. Знайти скалярний добуток першого рядка на m-мірний вектор, кожна координата якого є залишок по mod n (n - порядковий номер студента в групі) від різних елементів бічної діагоналі. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.
Задана квадратна матриця розмірності m 3. Матрицю задати в класі Matr. Знайти скалярний добуток першого рядка матриці на m-мірний вектор, кожна координата якого є залишок по mod n (n - порядковий номер студента в групі) від різних елементів першого стовбця. Розмірність задати в головній програмі константою. Елементами матриці є цілі числа.
Задана квадратна матриця розмірності 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.