summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index aee431e..c55e199 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,8 +1,31 @@
+use std::io::stdin;
+
use types::matrix::Matrix;
mod types;
+fn handle_input() -> Matrix {
+ let input = stdin();
+ let c = true;
+ let mut construct_string = String::from("");
+ while c {
+ let mut s = "".to_string();
+ let _ = input.read_line(&mut s);
+ if s == "exit\n" { break; }
+ construct_string += &s;
+ }
+ // println!("Constructed \"{}\"", construct_string.trim_end());
+ Matrix::from_str(construct_string.trim_end().to_string())
+}
fn main() {
// println!("Hello, world!");
- let m = Matrix::from_str("1,2,3\n4,5,6\n7,8,9".to_string());
- println!("Matrix:\n{}Has determinant:{}",m, m.determinant());
+ let m1 = Matrix::from_str("1,2,3\n4,5,6\n7,8,9".to_string());
+ let m2 = Matrix::from_str("1,1,1\n1,1,1".to_string());
+ let m4d = Matrix::from_str("1,2,3,4\n5,6,7,8\n9,18,11,12\n13,14,15,15".to_string());
+ println!("Matrix:\n{}Has determinant:{}",&m1, &m1.determinant());
+ println!("det(m4d): {}", &m4d.determinant());
+ let mi = handle_input();
+ println!("m from input:\n{}", mi);
+ // println!("row: {}, col: {}", mi.nrows, mi.ncols);
+ // println!("row: {}, col: {}", m2.nrows, m2.ncols);
+ println!("{}", &mi+&m2);
}