a2 small fixes

This commit is contained in:
2022-03-18 19:59:26 +01:00
parent 841c6631fb
commit d98e4dbd31
3 changed files with 10 additions and 10 deletions

View File

@ -32,14 +32,13 @@ enum AddSubOrMultiplicateDivide {
// Struktur für die Kommandozeilenargumente
#[derive(Parser)]
#[clap(about, long_about = None)]
struct Args {
/// Anzahl der Operatoren
#[clap(short, long, default_value_t = 5)]
count: u8,
/// zeigt die Lösung an
#[clap(short, long, takes_value = false)]
#[clap(short, long)]
solution_print: bool,
/// nutzt vorgegebene Ziffern zur Erstellung des Rätsels (für reproduzierbare Testfälle)
@ -109,7 +108,7 @@ fn main() {
let mut digits = args.digits;
// Wenn keine Ziffern bzw. Operanden vorgegeben wurden, werden diese zufällig ausgewählt.
let random_digits = digits.len() == 0;
let random_digits = digits.is_empty();
while continue_searching {
if random_digits {
digits = vec!(0; (args.count + 1) as usize); // erstellt einen neuen Vektor für die Ziffern
@ -234,7 +233,7 @@ fn calc_results<T: BasicInteger + 'static + FromPrimitive + Display + Bounded>
/* Wenn der letzte Operator eine Strichrechnung ist, muss der letzte Operand noch als
* Zwischenergebnis hinzugefügt werden. */
if dm_as_map >> number_operators - 1 & 1 == AddSubOrMultiplicateDivide::AddSub as u32 {
results_multiplicate.push(insert_digit(&digits, digits.len() - 1));
results_multiplicate.push(insert_digit(digits, digits.len() - 1));
}
{
// führt die Strichrechnung mit den Zwischenergebnissen durch
@ -375,10 +374,10 @@ fn insert_digit<T: Eq + Hash + FromPrimitive>(digits: &[u8], i: usize) -> PartOp
// Some(0) heißt, dass keine Operatoren verwendet wurden
result_map.insert(T::from_u8(digits[i]).unwrap(), Some(0));
return PartOperation{
PartOperation{
results: result_map,
last_operator: last_operator_helper(i),
};
}
}
// gibt das Rätsel bzw. die Lösung des Rätsels aus