Beautiful bash code :)
This commit is contained in:
39
Triangles.sh
Executable file
39
Triangles.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Dato un numero intero n, produrre in output un triangolo rettangolo in cui i
|
||||
# cateti sono lunghi n e il perimetro sia delineato con il carattere * in ogni punto.
|
||||
# I cateti devono essere in alto e a sinistra. Esempio, dato n=5:
|
||||
|
||||
echo -n "Lato triangolo: "
|
||||
read lato
|
||||
printf "\n"
|
||||
|
||||
if [ $lato == 1 ]
|
||||
then
|
||||
echo "*"
|
||||
elif [ $lato == 2 ]
|
||||
then
|
||||
echo "**"
|
||||
echo "*"
|
||||
elif [ $lato -lt 1 ]
|
||||
then
|
||||
echo "Lato non valido"
|
||||
else
|
||||
printf "%0.s*" $(seq 1 $lato)
|
||||
printf "\n"
|
||||
|
||||
for i in $(seq 1 $(( $lato - 1 )))
|
||||
do
|
||||
printf "*"
|
||||
spazi=$(( $lato - $i - 2 ))
|
||||
if [ $spazi -gt 0 ]
|
||||
then
|
||||
printf "%0.s " $(seq 1 $spazi)
|
||||
fi
|
||||
if [ $spazi -gt -1 ]
|
||||
then
|
||||
printf "*\n"
|
||||
fi
|
||||
done
|
||||
printf "\n"
|
||||
fi
|
||||
Reference in New Issue
Block a user