CSCI 261 - Programming Concepts (C++)

Spring 2017 - Lab 06A

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

|   Home |  Contact |  Syllabus |  Assignments |  Schedule |  Resources   |
This lab is due by Tuesday, February 28, 2017 11:59pm.


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.


Lab Submission



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


This lab is due by Tuesday, February 28, 2017 11:59pm.
Last Updated: 01/01/70 00:00


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