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