Answer to Question #185810 in C++ for M. Qasim Farooq

Question #185810

A designer in 3D graphics company wants to design a matrix as a two-dimensional array. The size of 2D array could be the last two digit of arid number. Initially he creates a class matrix that provides the member function to check that no array index is out of bounds. Make the member data in the matrix class a 10-by-10 array. A constructor should allow the programmer to specify the actual dimensions of the matrix (provided they’re less than 10 by 10). The member functions that access data in the matrix will now need two index numbers: one for each dimension of the array. Here’s what a fragment of a main() program that operates on such a class might look like:

If my Arid Number is 20-Arid-254 then:   // in case of zero consider next digit

 matrix m1(5, 4); // define a matrix object

 int temp = 12345; // define an int value

m1.putel(7, 4, temp); // insert value of temp into matrix at 7,4

temp = m1.getel(7, 4); // obtain value from matrix at 7,4



1
Expert's answer
2021-04-26T10:32:23-0400
#include <iostream>
using namespace std;

const int N_MAX=10;

class matrix {
public:
    matrix(int n, int m);
    void putel(int r, int c, int v);
    int getel(int r, int c);
private:
    int row, col;
    int values[N_MAX][N_MAX];
};


matrix::matrix(int n, int m) {
    n = (n > 0) ? n : 0;
    m = (m > 0) ? m : 0;
    row = (n < N_MAX) ? n : N_MAX;
    col = (m < N_MAX) ? m : N_MAX;
    for (int i=0; i<row; i++)
        for (int j=0; j<col; j++)
            values[i][j] = 0;
}

void matrix::putel(int r, int c, int v) {
    if (r >= 0 && r < row && c >= 0 && c < col)
        values[r][c] = v;
}

int matrix::getel(int r, int c) {
    if (r >= 0 && r < row && c >= 0 && c < col)
        return values[r][c]; 
    else 
        return 0;
}

int main()
{
    matrix m1(5, 4);        // define a matrix object
    int temp = 12345;       // define an int value
    m1.putel(7, 4, temp);   // insert value of temp into matrix at 7,4
    temp = m1.getel(7, 4);  // obtain value from matrix at 7,4
    cout << temp << endl;

    temp = 98765;
    m1.putel(1, 1, temp);
    temp = m1.getel(1, 1);
    cout << temp << endl;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS