From 6e9137151fd10821dc6f62257734f944ff0aad86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Fuhry?= Date: Thu, 1 Jun 2023 14:51:57 +0200 Subject: [PATCH] cringe --- src/graph.rs | 14 ++++++++------ src/graph/matrix.rs | 6 ++++-- src/lib.rs | 4 ++-- src/main.rs | 3 +-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/graph.rs b/src/graph.rs index 1af6912..9cd81be 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -108,14 +108,16 @@ pub fn calculate_properties(exzentrizitaeten: &Vec) -> (usize, usize, Vec pub fn find_components(weg_matrix: &Vec>) -> Vec> { let mut components: Vec> = vec![]; let mut component: Vec; - - for i in 0..weg_matrix.len() { - component = vec![]; + let mut i: usize; - for j in 0..weg_matrix.len() { - if weg_matrix[i][j] == 1 { - component.push(j + 1); + for array in weg_matrix.iter() { + component = vec![]; + i = 1; + for value in array.iter() { + if value == &1 { + component.push(i); } + i += 1; } if !components.contains(&component) { components.push(component); diff --git a/src/graph/matrix.rs b/src/graph/matrix.rs index e36611e..378b01b 100644 --- a/src/graph/matrix.rs +++ b/src/graph/matrix.rs @@ -22,8 +22,10 @@ pub fn mult(matrix1: &Vec>, matrix2: &Vec>) -> Vec>) { } } -pub fn read_csv(file_name: String) -> Vec> { +pub fn read_csv(file_name: &str) -> Vec> { let mut matrix: Vec> = vec![]; let dir: String = String::from("/home/rene/projects/Java/graphprogram/csv/"); let file_path = dir + &file_name; diff --git a/src/lib.rs b/src/lib.rs index 5df88f6..c657ccb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,7 +6,7 @@ mod tests { #[test] fn graph() { - let mut adjazenz_matrix: Vec> = read_csv("art-brck.csv".to_owned()); + let mut adjazenz_matrix: Vec> = read_csv("art-brck.csv"); let distanz_matrix: Vec> = calculate_distanz_matrix(&adjazenz_matrix); let weg_matrix: Vec> = calculate_weg_matrix(&adjazenz_matrix); let exzentrizitaeten: Vec = calculate_exzentrizitaeten(&distanz_matrix); @@ -47,7 +47,7 @@ mod tests { #[test] fn matrix() { - let adjazenz_matrix: Vec> = read_csv("art-brck.csv".to_owned()); + let adjazenz_matrix: Vec> = read_csv("art-brck.csv"); assert_eq!(adjazenz_matrix, vec![ vec![0, 0, 1, 1, 0], diff --git a/src/main.rs b/src/main.rs index e87d2df..401237a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,8 +3,7 @@ use crate::graph::{*, matrix::*}; pub mod graph; pub fn main() { - let file_name = String::from("art-brck.csv"); - + let file_name = "24n.csv"; let mut adjazenz_matrix: Vec> = read_csv(file_name); //let mut adjazenz_matrix: Vec> = fill_with_random(100); let distanz_matrix: Vec> = calculate_distanz_matrix(&adjazenz_matrix);