Top.Mail.Ru
Ответы
Аватар пользователя
12лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Помогите переделать программу C++

http ://m iron.in/32 1049

программа, представленная по ссылке выше, сделана по заданию:

Создайте класс с именем My Matrix, содержащий указатель на двуме рный массив Nx N со значениями типа double - квадратная матрица NxN. Само значение N так же должно быть элементом данных класса. Конструктор класса с одним парамет ром N должен соз давать двумерный массив NxN и инициализировать данные нулями. Созд айте метод класса, который будет выводить значе ния матрицы в текстовую строку с разделителем строк"\n". Перегрузите для класса операцию - как одноместную (противоположные значения коэффициентов матрицы) , операцию - как двухместную (вычитание двух матриц) и операцию + (сложение двух матриц) .

нужно переделать программу в соответствии с этим условием:

Соз дайте класс с именем My Matrix, содержащий указатель на двум ерный массив MxN со значе ниями типа double - прямоугольная матрица M x N. Сами значения M и N также должны быть элементами данных класса. Конструктор класса с двумя пара метрами M и N должен создавать двумерный массив M x N и инициализировать данные нулями. Создайте метод класса, кот орый будет выводить знач ения матрицы в текстовую строку с раздел ителем строк"\n". Перегрузите для класса опе рацию - как одноместную (противо положные значения коэффициентов матрицы) , операцию - как двухместную (вычитание двух матриц) и операцию + (сложение двух матриц) .

Дополнен

СРОЧНО

По дате
По рейтингу
Аватар пользователя
Просветленный
12лет

class MyMatrix
{
public:
int n, m; // Размер матрицы
double **MValue; // Сама матрица
MyMatrix(int N, int M); // Конструктор
void readMatrix(); // Ввод значений матрицы
void showMatrix(); // Вывод значений матрицы
};

//---------------------------------------------------------------------------

MyMatrix::MyMatrix(int N, int M) //Конструктор. Инициализирует значения нулями.
{
n = N;
m = M;
MValue = (double**)malloc(N*sizeof(double*)); //создаём строки матрицы
for (int i = 0; i < N; i++)
{
MValue = (double*)malloc(M*sizeof(double)); //создаём столбцы матрицы
for (int j = 0; j < M; j++)
{
MValue[j] = 0; // Инициализируем элементы
}
}
}

и т. д.
код все равно покоцает, так что просто в циклах второй n замени на m.
и это весьма странный С++ -почему malloc вместо new?