Diamond Star Pattern

Medium Patterns
Print a diamond of stars: an upward pyramid followed by a downward one.

Sample input

3

Sample output

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

Solution

n = 3
for i in range(1, n + 1):
    print(" " * (n - i) + "*" * (2 * i - 1))
for i in range(n - 1, 0, -1):
    print(" " * (n - i) + "*" * (2 * i - 1))
const n = 3;
const row = (i) => " ".repeat(n - i) + "*".repeat(2 * i - 1);
for (let i = 1; i <= n; i++) console.log(row(i));
for (let i = n - 1; i >= 1; i--) console.log(row(i));
public class Main {
    static String row(int n, int i) {
        return " ".repeat(n - i) + "*".repeat(2 * i - 1);
    }

    public static void main(String[] args) {
        int n = 3;
        for (int i = 1; i <= n; i++) System.out.println(row(n, i));
        for (int i = n - 1; i >= 1; i--) System.out.println(row(n, i));
    }
}
fun row(n: Int, i: Int) = " ".repeat(n - i) + "*".repeat(2 * i - 1)

fun main() {
    val n = 3
    for (i in 1..n) println(row(n, i))
    for (i in n - 1 downTo 1) println(row(n, i))
}
func row(_ n: Int, _ i: Int) -> String {
    return String(repeating: " ", count: n - i) + String(repeating: "*", count: 2 * i - 1)
}

let n = 3
for i in 1...n { print(row(n, i)) }
for i in stride(from: n - 1, through: 1, by: -1) { print(row(n, i)) }
String row(int n, int i) => ' ' * (n - i) + '*' * (2 * i - 1);

void main() {
  int n = 3;
  for (var i = 1; i <= n; i++) print(row(n, i));
  for (var i = n - 1; i >= 1; i--) print(row(n, i));
}
#include <iostream>
#include <string>
using namespace std;

string row(int n, int i) {
    return string(n - i, ' ') + string(2 * i - 1, '*');
}

int main() {
    int n = 3;
    for (int i = 1; i <= n; i++) cout << row(n, i) << endl;
    for (int i = n - 1; i >= 1; i--) cout << row(n, i) << endl;
    return 0;
}
#include <stdio.h>

void printRow(int n, int i) {
    for (int s = 0; s < n - i; s++) printf(" ");
    for (int j = 0; j < 2 * i - 1; j++) printf("*");
    printf("\n");
}

int main() {
    int n = 3;
    for (int i = 1; i <= n; i++) printRow(n, i);
    for (int i = n - 1; i >= 1; i--) printRow(n, i);
    return 0;
}