Menu
CoddyTech

Zahlenmuster

Teil des Abschnitts Grundlagen der Rust-Journey von Coddy. Lektion 73 von 75.

Beim Erstellen von Mustern wie Pyramiden müssen wir häufig Zeichenketten mit wiederholten Zeichen erzeugen. In Rust gibt es dafür verschiedene Möglichkeiten, aber hier ist eine der unkompliziertesten Methoden:

let str = "a".repeat(10);

str enthält "aaaaaaaaaa"

Die Methode repeat() erfordert ausdrücklich ein Argument vom Typ usize, nicht einen gewöhnlichen Integer-Typ wie i32.

usize ist Rusts vorzeichenloser Integer-Typ mit der Größe eines Zeigers – seine Größe hängt von deiner Architektur ab (32 Bit auf 32-Bit-Systemen, 64 Bit auf 64-Bit-Systemen).

let count: usize = 5;
let repeated = "x".repeat(count);  // Das funktioniert

Wenn du einen i32 oder einen anderen Integer-Typ hast, musst du ihn konvertieren:

let num: i32 = 7;
let repeated = "y".repeat(num as usize);
// Mit 'as usize' konvertieren

Das lässt sich nicht kompilieren:

let repeated = "z".repeat(num);
// Fehler: usize erwartet, i32 gefunden
challenge icon

Aufgabe

Einfach

Jeder Testfall hat eine Eingabe – eine ungerade ganze Zahl.
Deine Aufgabe ist es, eine Pyramide der Größe n mit * auszugeben. Hier sind einige Beispiele:

Pyramide der Größe 1

*

Pyramide der Größe 5

*
***
*****

Pyramide der Größe 7

*
***
*****
*******

Eingabe

  • ungerade Ganzzahl n vom Benutzer
  • 1 <= n < 1000

Tipps

  • Versuche, mit den kleinen Dreiecken anzufangen.
  • Sieh dir den Hinweis an, wenn du nicht weiterkommst ;)

n gibt die Anzahl der * in der untersten Reihe an

Hinweis: In Rust benötigen Funktionen, die sich mit der „Größe“ oder „Länge“ von etwas befassen (wie .repeat()), einen Typ namens usize anstelle von i32; du kannst usize wie eine normale ganze Zahl behandeln, die niemals negativ ist.

Probier es selbst

use std::io;

fn main() {
    let mut input_n = String::new();
    io::stdin().read_line(&mut input_n).unwrap();
    let n: usize = input_n.trim().parse().unwrap();

    
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Rust-Compiler