3232晚上好
幼苗
共回答了17个问题采纳率:100% 举报
花了半小时给你写了一下,用的是动态开辟空间,矩阵大小自定,代码分3个文件:
//Matrix.h
#ifndef MATRIX_H
#define MATRIX_H
class Matrix
{
public:
Matrix();
Matrix(int r,int c);
Matrix();
void initRandom();
void displayMatrix();
void displayRowsSum();
void displayColsSum();
private:
int** data;
int row;
int column;
};
#endif
//matrix.cpp
#include "Matrix.h"
#include
#include
#include
#include
using std::cout;
using std::endl;
Matrix::Matrix():data(NULL),row(0),column(0)
{}
Matrix::Matrix(int r,int c):row(r),column(c)
{
//alloc memory
data = new int*[r];
for(int row = 0; row < this->row; ++row) {
data[row] = new int[column];
}
}
void Matrix::initRandom()
{
srand(static_cast(time(NULL) ) );
//initialize values
for(int row = 0; row < this->row; ++row) {
for(int col = 0; col < column; ++col) {
data[row][col] = rand() % 9 + 1;
}
}
}
Matrix::Matrix()
{
if(data != NULL) {
for(int row = 0; row < this->row; ++row) {
delete[] data[row];
}
}
}
void Matrix::displayMatrix()
{
for(int row = 0; row < this->row; ++row) {
for(int col = 0; col < column; ++col) {
cout
1年前
3