Ordenação de Listas

Publicado por Marcio Cardoso (última atualização em 10/03/2012)

[ Hits: 7.224 ]

Download ordenação.txt




Segue shell que ordena a lista em ordem crescente.

  



Esconder código-fonte

#!/bin/ksh
clear
typeset -i i=0
echo "Digite 5 numeros inteiros fora da sequencia!"
while (( $i == 0 )); do
        echo "Digite primeiro numero"
        read valor[0]
        echo "Digite segundo numero"
        read valor[1]
        echo "Digite terceiro numero"
        read valor[2]
        echo "Digite quarto numero"
        read valor[3]
        echo "Digite quinto numero"
        read valor[4]
        if((${valor[0]} < ${valor[1]} && ${valor[1]} < ${valor[2]} && ${valor[2]} < ${valor[3]} && ${valor[3]} < ${valor[4]})); then
                echo "Sequencia ordenada digite novamente os valores"
        else
                i=$i+1
        fi
done
typeset -i i=0
typeset -i j=0
typeset -i temp=0
while (( $i < 4 )); do
        while (( $j < 4 )); do
                if ((${valor[$j+1]} < ${valor[$j]} )); then
                        temp=${valor[$j]}
                        valor[$j]=${valor[$j+1]}
                        valor[$j+1]=$temp
                fi
        j=$j+1
        done
i=$i+1
j=0
done
x=0;
while [ $x != ${#valor[@]} ]; do
        echo "* "${valor[$x]}" sequencia ordenada "
        let "x = x +1"
done

Scripts recomendados

Proteja sua rede com um simples script de firewall

melhorias

Localiza Arquivos no sistema!

Converter animes em .mp4 para .avi (e outros) com qualidade perfeita

Coleta de WWN em AIX


  

Comentários
[1] Comentário enviado por julio_hoffimann em 10/03/2012 - 19:27h

Marcio,

Lembre-se que o poder do Bash está no fácil acesso aos programas externos:

echo 'Digite numeros separados por espaço:'
read -a array
ordered=`echo ${array[@]} | tr ' ' '\n' | sort -n | tr '\n' ' '`
echo ${ordered}

As duas linhas acima fazem o mesmo trabalho e funcionam para listas de tamanho arbitrário.

Abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts