Добавил:
vvrstcnho
Рад, если кому-то помог
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы С++ (для ИВТ) / Готовые лабы С++ / Лаба8 / Laba 10 (3)
.cpp#include <iostream>
#include <locale>
using namespace std;
class Sedenion {
private:
double e[16]; // 16 компонент
public:
Sedenion() {
for (int i = 0; i < 16; i++) e[i] = 0;
}
Sedenion(double values[16]) {
for (int i = 0; i < 16; i++) e[i] = values[i];
}
// Сложение
Sedenion operator+(const Sedenion& other) const {
Sedenion result;
for (int i = 0; i < 16; i++) {
result.e[i] = e[i] + other.e[i];
}
return result;
}
// Умножение (упрощенное)
Sedenion operator*(const Sedenion& other) const {
Sedenion result;
// Упрощенное умножение - покомпонентное
for (int i = 0; i < 16; i++) {
result.e[i] = e[i] * other.e[i];
}
return result;
}
// Вывод
void print() const {
cout << e[0];
for (int i = 1; i < 16; i++) {
if (e[i] != 0) {
cout << " + " << e[i] << "e" << i;
}
}
cout << endl;
}
};
int main() {
setlocale(LC_ALL, "ru_RU.UTF-8");
double values1[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
double values2[16] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
Sedenion s1(values1);
Sedenion s2(values2);
cout << "Седенион 1: "; s1.print();
cout << "Седенион 2: "; s2.print();
Sedenion sum = s1 + s2;
cout << "Сумма: "; sum.print();
return 0;
}
Соседние файлы в папке Лаба8
