Как получить размер матрицы и её элементы от пользователя?

205
27 февраля 2019, 08:20

Как мне сделать так, чтобы размер матрицы и значение её элементов я вводил сам (то есть динамически)?

#pragma once
#include <iostream>
#include <string>
#include <ctime>
using namespace std;
class Matrix {
    int **matr;
    int rows;
    int cols;
public:

    int *operator[](int k) {
        return matr[k];
    }
    Matrix operator+(Matrix obj) {
        Matrix tmp(0);
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
                tmp[i][j] = matr[i][j] + obj[i][j];
        return tmp;
    }
    Matrix operator*(Matrix obj) {
        Matrix tmp(0);
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
                for (int k = 0; k < n; k++)
                    tmp[i][j] += matr[i][k] * obj[k][j];
        return tmp;
    }

    void show() {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                printf("%3d", matr[i][j]);
            }
            cout << endl;
        }
    }

};
Answer 1
  1. Добавить конструктор, который будет создавать матрицу указанного размера

    Matrix(int rows, int cols) {
      this.rows = rows;
      this.cols = cols;
      this.matr = new int*[rows];
      for (int i = 0; i < rows; i++)
        this.matr[i] = new int[cols];
    }
    
  2. Добавить деструктор, который будет уничтожать созданную матрицу

    ~Matrix(int rows, int cols) {
      for (int i = 0; i < this.rows; i++)
        delete [] this.matr[i];
      delete [] this.matr;
    }
    
  3. И добавить конструктор копирования. Просто во избежание

    Matrix(Matrix &matrix) {
      this.rows = matrix.rows;
      this.cols = matrix.cols;
      this.matr = new int*[rows];
      for (int i = 0; i < this.rows; i++) {
        this.matr[i] = new int[cols];
        for (int j = 0; j < this.cols; j++) {
          this.matr[i][j] = matrix.matr[i][j];
        }
      }
    }
    
READ ALSO
Создание меню выбора C++

Создание меню выбора C++

вообщем нужно создать меню выбора пунктов, например:

201
Заполнить матрицу по спирали

Заполнить матрицу по спирали

Не смог найти библиотеку, которая позволяет заполнить матрицу по спирали, например так:

211
Обработка нажатия кнопки ImageButton

Обработка нажатия кнопки ImageButton

Пишу приложение под androidСоздал отдельное activity для словаря(приложение будет переводить слова из существующей базы и при подключении интернета...

196
Система регистрации

Система регистрации

Всем приветВ общем, мне нужно сделать регистрацию в приложении

206