evandrohila
(usa Debian)
Enviado em 18/11/2015 - 14:17h
Pessoal,
Estou tentando criar um script que lê uma determinada quantidade de valores, grava em um array e depois verifica qual é o maior e o menor valor, porém não estou conseguindo.
Se eu escolher a quantidade de 3 valores, ele mostra o maior valor certinho, porém o menor ele mostra o segundo valor digitado. Exemplo.
Escolha a quantidade de valores que deseja digitar (aqui digite apenas numeros): 3
valor 1: 12
valor 2: 13
valor 3: 14
O retorno fica:
Maior: 14
Menor: 13
#!/bin/bash
clear
read -p "Escolha a quantidade de valores que deseja digitar (aqui digite apenas numeros): " qtde
for ((i=1; i <= $qtde; i++)) do
read -p "valor $i: " array[$i]='valor'
done
clear
#Verifica qual o numero maior
for (( i=1; i <= $qtde; i++ )) do
for (( j = $i; j <= $qtde; j++ )) do
if [ ${array[$i]} -gt ${array[$j]} ]; then
maior=${array[$i]}
else
maior=${array[$j]}
fi
done
done
echo "Maior: $maior"
#Verifica o menor
for (( i=1; i < $qtde; i++ )) do
for (( j = $i; j <= $qtde; j++ )) do
if [ ${array[$i]} -lt ${array[$j]} ]; then
menor=${array[$i]}
else
menor=${array[$j]}
fi
done
done
echo "Menor: $menor"