Página 1 de 1
Ordernar Variaveis
Enviado: 12 Fev 2008 16:55
por marcos.gurupi
Amigos n estou conseguindo fazer o seguinte:
Eu tenho 12 variaves com seus respectivos valores exemplo:
vJan,vFev,vMar...
Como eu saberia qual a que contem o valor maior ?
Marcos Roberto
Enviado: 12 Fev 2008 17:29
por Maligno
Comparando uma a uma. Mas o código ficaria muito mais fácil e prático se os dados estivessem numa matriz.
Enviado: 12 Fev 2008 17:59
por MARINI
Se o valor for númerico ou data poderá usar a função MAX():
http://www.itlnet.net/programming/progr ... 684a1.html
Exemplo com arquivo:
USE arquivo
xnr:=0
DO WHILE !EOF()
xnr:=MAX(xnr,campoarquivo)
DBSKIP()
ENDDO
@ 5,5 SAY "o maior "+STR(xnr)
Exemplo com vetor:
xvr:=ARRAY(3)
xvr[1]:=12
xvr[2]:=30
xvr[3]:=8
xnr:=0
FOR i:=1 TO LEN(xvr)
xnr:=MAX(xnr,xvr
)
NEXT
@ 5,5 SAY "o maior "+STR(xnr)
Enviado: 12 Fev 2008 19:59
por asimoes
Marcos,
Você pode usar tambem:
aVar :={}
nMaximo:=0
AADD(aVar,vJan)
AADD(aVar,vFev)
AADD(aVar,vMar)
AADD(aVar,vAbr)
ASORT(aVar)
nMaximo:=ATAIL(aVar)
ou
nMaximo:=ATAIL(ASORT(aVar))
:)Pos
Enviado: 12 Fev 2008 20:04
por Maligno
Taí mais uma alternativa que funciona também. Mas eu já sugeriria mudar de uma vez pra matriz. Manter variáveis, neste caso específico, só vai criar dificuldades "operacionais".
Enviado: 12 Fev 2008 20:13
por asimoes
Mestre Maligno,
Como seria o exemplo sendo uma matriz?
[]´s :)Pos
Enviado: 12 Fev 2008 20:36
por Pablo César
Marcos, eu não tinha notado que você tinha duplicado seu tópico. A solução pode ser com qualquer ferramenta que possibilite a criação de matrizes, para quem quiser ver o exemplo do Maligno na seção Clipper:
https://pctoledo.org/forum/viewtopic.php?t=7495