upgrade to rust 2018 and some other fixes
[Mitarbeiter/Tim-Zeitz/stud-rust-base.git] / src / bin / compare_vector.rs
index 760496cbc36798a9c594a8b34615e2c37b168ed7..2f566edc254b8af08f625ca579bc01b3f31d6236 100644 (file)
@@ -1,4 +1,3 @@
-extern crate stud_rust_base;
 use stud_rust_base::{io::*, cli::CliErr};
 use std::{env, fmt::Display, error::Error};
 
@@ -65,7 +64,8 @@ fn compare_values<T>(values1: &[T], values2: &[T]) where
     T: PartialOrd
 {
     if values1.len() != values2.len() {
-        println!("Can only compare vectors of equal size. The first vector has {} elements. The second vector has {} elements.", values1.len(), values2.len());
+        println!("0");
+        eprintln!("Can only compare vectors of equal size. The first vector has {} elements. The second vector has {} elements.", values1.len(), values2.len());
         return
     }
 
@@ -84,16 +84,18 @@ fn compare_values<T>(values1: &[T], values2: &[T]) where
 
     match first_diff {
         Some(index) => {
-            println!("The vectors differ.");
-            println!("{} elements are smaller in the first vector.", v1_smaller_count);
-            println!("{} elements are smaller in the second vector.", v2_smaller_count);
-            println!("{} elements are the same.", values1.len() - v1_smaller_count - v2_smaller_count);
-            println!("{} elements are different.", v1_smaller_count + v2_smaller_count);
-            println!("The vectors have  {} elements.", values1.len());
-            println!("The first element that differs is at index {}.", index);
+            eprintln!("The vectors differ.");
+            eprintln!("{} elements are smaller in the first vector.", v1_smaller_count);
+            eprintln!("{} elements are smaller in the second vector.", v2_smaller_count);
+            eprintln!("{} elements are the same.", values1.len() - v1_smaller_count - v2_smaller_count);
+            println!("{}", values1.len() - v1_smaller_count - v2_smaller_count);
+            eprintln!("{} elements are different.", v1_smaller_count + v2_smaller_count);
+            eprintln!("The vectors have {} elements.", values1.len());
+            eprintln!("The first element that differs is at index {}.", index);
         },
         None => {
-            println!("The vectors are the same and have  {} elements.", values1.len());
+            println!("{}", values1.len());
+            eprintln!("The vectors are the same and have {} elements.", values1.len());
         },
     }
 }