Создать матрицу дробей

Я пытаюсь создать матрицу дробей.
Во-первых, я создаю матрицу класса и определяю методы, такие как создание новой матрицы, удаление матрицы, решение матрицы (метод Гаусса и Гаусса-Джордана). Все значения в матрице являются плавающими. Я все компилирую и работаю: D. Но сейчас я пытаюсь создать другую матрицу, точно равную первой, но это нужно делать только для дробей. Это моя проблема, как мне это сделать? как я создаю метод, который получает 2 числа (например: myMethod(2,3)), считает это как 2/3 и ставит в матричной позиции? Моя цель — сделать что-то подобное:

Матрица:

1/2   2/3   1/5

2/5   3/4   3/2

2/7   3/5   1/3

Все номера будут отправлены пользователем, например, cin>>n1>>n2; (На самом деле это n1/n2)

PD: я думал о создании цикла вроде:

for(i=0;i<3;i++)
myMethod(n1,n2);

PD2: Извините за мой английский, надеюсь, вы меня понимаете 🙁

-1

Решение

Насколько я понимаю, с ++ не может обрабатывать дроби изначально. лучшее, что ты мог сделать, это плавать. В качестве альтернативы, если вы просто хотите отобразить Матрицу в виде дроби (и, возможно, выполните некоторые операции с ней), вы можете сделать что-то вроде следующего.

Mat numerator[3][3];
Mat denominator[3][3];
cin>>numerator[0][0]>>denominator[0][0];
//.... for all elements

//Display
cout<<numerator[0][0]<<"/"<<denominator[0][0];

//operations
newmatrix[0][0] = numerator1[0][0]*numerator2[0][0] / (denominator1[0][0]*denominator1[0][0]);

Надеюсь это поможет.

1

Другие решения

template <typename NumberType>
class Matrix {
// ...
}:

И подумайте о математических операциях над каждым поддерживаемым типом чисел.

0

По вопросам рекламы [email protected]