public/subjects/matrix_determinant
miguel 166a10990f fix(piscine-rust): add crates to exercises 2023-11-14 18:09:37 +00:00
..
README.md fix(piscine-rust): add crates to exercises 2023-11-14 18:09:37 +00:00
determinant-of-a-3x3-matrix-formula-3.png update exam exercises 2022-06-01 20:46:06 +03:00
main.rs fix(piscine-rust): add crates to exercises 2023-11-14 18:09:37 +00:00

README.md

matrix_determinant

Instructions

Create a function which receives a 3x3 matrix ([[isize; 3]; 3]) and returns its determinant isize.

This is how you calculate a 2x2 matrix determinant:

|a b|
|c d|

a*d - b*c

To calculate a 3x3 matrix determinant you have to take 'a' and multiply it by the determinant of the matrix you get if you get rid of the 'a' column and the 'a' row. Then you subtract the multiplication of 'b' and the determinant of the matrix you get if you get rid of the 'b' column and row. And finally, you do the same process for 'c' and add it to the previous result.

|a b c|
|d e f|
|g h i|

imagem

Expected Function

pub fn matrix_determinant(matrix: [[isize; 3]; 3]) -> isize {

}

Example

Here is a program to test your function:

use matrix_determinant::*;

fn main() {
    let matrix = [[1, 2, 4], [2, -1, 3], [4, 0, 1]];

    println!(
        "The determinant of the matrix:\n|1  2  4|\n|2 -1  3|  = {}\n|4  0  1|",
        matrix_determinant(matrix)
    );
}

And its output:

$ cargo run
The determinant of the matrix:
|1  2  4|
|2 -1  3|  = 35
|4  0  1|
$