Ordernar Variaveis

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Ordernar Variaveis

Mensagem 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
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Comparando uma a uma. Mas o código ficaria muito mais fácil e prático se os dados estivessem numa matriz.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem 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)
Sds
Marini
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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".
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Mestre Maligno,

Como seria o exemplo sendo uma matriz?

[]´s :)Pos
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem 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
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder