You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1.0 KiB

diamond_creation

Instructions

Build the function make_diamond which takes a letter as input, and outputs it in a diamond shape.

Rules:

  • The first and last row contain one 'A'.
  • The given letter has to be at the widest point.
  • All rows, except the first and last, have exactly two identical letters.
  • All rows have as many trailing spaces as leading spaces. (This might be 0).
  • The diamond is vertically and horizontally symmetric.
  • The diamond width equals the height.
  • The top half has the letters in ascending order. (abcd)
  • The bottom half has the letters in descending order. (dcba)

Notions

Expected functions

pub fn get_diamond(c: char) -> Vec<String> {

}

Usage

Here is a program to test your function.

use diamond_creation::*;

fn main() {
    println!("{:?}", get_diamond('A'));
    println!("{:?}", get_diamond('C'));
}

And its output:

$ cargo run
["A"]
["  A  ", " B B ", "C   C", " B B ", "  A  "]
$