a2 small fixes
This commit is contained in:
@ -234,9 +234,7 @@ diese wird ausgegeben. Wenn kein interessantes Rätsel gefunden wurde, muss die
|
||||
while-Schleife der main-Funktion noch einmal durchlaufen werden.
|
||||
|
||||
\section{Beispiele}
|
||||
\immediate\write18{./ergebnis-latex.sh}
|
||||
\input{ausgabe.tmp}
|
||||
\immediate\write18{rm ausgabe.tmp}
|
||||
\input{|./ergebnis-latex.sh}
|
||||
|
||||
\section{Quellcode}
|
||||
Unwichtige Teile des Programms sollen hier nicht abgedruckt werden. Dieser Teil sollte nicht mehr als 2–3 Seiten umfassen, maximal 10.
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
#/bin/sh
|
||||
for file in $(ls -v ergebnisdateien); do
|
||||
operators=$(basename "$file" .txt)
|
||||
printf "%s Operatoren:\\inputminted[breaklines]{text}{%s}\n" "$operators" "ergebnisdateien/$file" >> ausgabe.tmp
|
||||
if [ "$operators" != "1" ]; then
|
||||
ending=en
|
||||
fi
|
||||
printf "%s Operator%s:\\inputminted[breaklines]{text}{%s}\n" "$operators" "$ending" "ergebnisdateien/$file"
|
||||
done
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user