CSCI 261 - Programming Concepts (C++)

Fall 2017 - Lab 4C

Quick Links: Canvas | CS @ Mines | Cloud9 | Piazza | zyBooks

|   Home |  Contact |  Syllabus |  Assignments |  Schedule |  Resources   |
This lab is due by Tuesday, October 10, 2017 11:59 PM .

Instructions



For this lab, your task is to first define a NxM matrix (e.g. two-dimensional array). Then you should prompt the user to enter the values for the matrix. Your program should be able to work with an values of N and M (i.e. declare N and M, or more clearly stated your ROWS and COLUMNS as constants at the beginning of your program).

Once the user has entered in all the values, print the matrix back to the user. Be sure to align the values so the matrix is easily readable by the user.

Now define a new matrix of size MxN to represent the transpose. Store the transpose of the user's matrix and then print the transposed matrix to the user.

Now for the math magic. Define a third matrix of size NxN. This will represent the product of the matrix times its transpose. Compute this product and print the resulting matrix to the user.

An example run with output is shown below:

Welcome to the Matrix Calculator!

Please enter a 4x3 matrix:
Enter Row 1 Column 1: 5
Enter Row 1 Column 2: 5
Enter Row 1 Column 3: 5
Enter Row 2 Column 1: 1
Enter Row 2 Column 2: 2
Enter Row 2 Column 3: 3
Enter Row 3 Column 1: 10
Enter Row 3 Column 2: 2
Enter Row 3 Column 3: 4
Enter Row 4 Column 1: 2
Enter Row 4 Column 2: 2
Enter Row 4 Column 3: 2

The matrix you entered is:
[   5   5   5 ]
[   1   2   3 ]
[  10   2   4 ]
[   2   2   2 ]

The transpose of the matrix is:
[   5   1  10   2 ]
[   5   2   2   2 ]
[   5   3   4   2 ]

The product of the matrix times its transpose is:
[  75  30  80  30 ]
[  30  14  26  12 ]
[  80  26 120  32 ]
[  30  12  32  12 ]

Have a nice day!


Hints



  • Define constants to keep track of the number of ROWS and COLUMNS.
  • Arrays and Loops work well together.
  • Arrays and Loops work well together.
  • Arrays and Loops work well together.
  • Here is a refresher on matrix multiplication: Math is Fun!


Functional Requirements



  • Your program should be flexible to work with any number of ROWS and COLUMNS. That is, by changing the values of your ROWS and COLUMNS constants the rest of your program should adjust as appropriate to handle the correct number of elements.


Lab Submission



You will submit your solution to this lab with the rest of A4. Detailed instructions for doing this are posted in Assignment 4.


This lab is due by Tuesday, October 10, 2017 11:59 PM .
Last Updated: 09/28/17 12:28


Valid HTML 4.01 Strict Valid CSS! Level Triple-A conformance, W3C WAI Web Content Accessibility Guidelines 2.0