You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

2.0 KiB

matrix_transposition

Instructions

  • Define the structure matrix as a tuple of 2 tuples of 2 i32's.

  • Define a function that calculates the transpose matrix of a 2x2 matrix.

  • Note:

    • The transpose of a matrix A is the matrix A' where A''s columns are A's row and the rows are the columns:

Example:

( a b )   __ transposition __>   ( a c )
( c d )                          ( b d )
  • Matrix must implement Debug, PartialEq and Eq. You can use derive.

  • Remember that you are defining a library so you have to make public the elements that are going to be called from an external crate.

Notions

Expected Function

pub fn transpose(m: Matrix) -> Matrix {
}

Usage

Here is a posible program to test your function

use matrix_transposition::transpose;
use matrix_transposition::Matrix;

fn main() {
    let matrix = Matrix((1, 3), (4, 5));
    println!("Original matrix {:?}", matrix);
    println!("Transpose matrix {:?}", transpose(matrix));
}

And its output:

student@ubuntu:~/matrix_transposition/test$ cargo run
Original matrix Matrix((1, 3), (4, 5))
Transpose matrix Matrix((1, 4), (3, 5))
student@ubuntu:~/matrix_transposition/test$