Ir para o conteúdo
Parasita

De 4 equipes encontrar o 1º e o 2º lugar atraves dos pontos e dos golos marcados

Mensagens Recomendadas

Parasita    0
Parasita

Oi pessoal, estou aqui com uma dificuldade para encontrar o 1º e o 2º lugar ( de 4 equipes ) claro que depende dos pontos(pts) e em caso de igualdade depende dos golos marcados(gm).

Precisso de ajuda eu tentei assim:

if ptsP>ptsA then                                                   
maior:=ptsP                                                             
else                                                                       
maior:=ptsA;                                                            
if ptsP=ptsA and gmP>gmA then                                               
    maior:=ptsP                                                              
    else                                                                      
       maior:=ptsA;                                                          
if maior<ptsI then                                                          
     maior:=ptsI                                                              
    else                                                                      
      if maior=ptsP or maior=ptsA and gmI>gmP or gmI>gmA then                 
         maior:=ptsI                                                          
      else                                                                    
    maior:=maior;                                                            
if maior<ptsM then                                                         
maior:=ptsM                                                               
    else                                                                      
    if maior=ptsP or maior=ptsA or maior=ptsI and gmM>gmP or gmM>gmA or gmM>gm
writeln('1ºLugar  Milão: ',ptsM,' pts')                                
else                                                                      
maior:=maior;

Assim nao esta a resultar lá muito bem :cheesygrin:

desde já muito obrigado pessoal

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Parasita    0
Parasita

dá-me logo um erro no 2º if nao sei pq? mas o prob é k assim nao me está a convencer, mas sinceramente nao sei se existe outra melhor solução. ou se existe algum exemplo num tuturial...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Parasita    0
Parasita

if ptsP=ptsA and gmP>gmA then                                             

o erro acontece no sinal > mas nao percebo pk? :eek: :wallbash:

mas mesmo assim na tou a ver bem como encontrar o 2º lugar, pk atraves do codigo k mandei paki so vai encontrar o 1º lugar

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NCS_One    2
NCS_One

Ois

Experimenta la assim :

if ptsP>ptsA then                                                   
maior:=ptsP                                                             
else                                                                       
maior:=ptsA;                                                            
if (ptsP=ptsA) and (gmP>gmA) then                                               
    maior:=ptsP                                                              
    else                                                                      
       maior:=ptsA;                                                          
if maior<ptsI then                                                          
     maior:=ptsI                                                              
    else                                                                      
      if (maior=ptsP) or (maior=ptsA) and (gmI>gmP) or (gmI>gmA) then                 
         maior:=ptsI                                                          
      else                                                                    
    maior:=maior;                                                            
if maior<ptsM then                                                         
maior:=ptsM                                                               
    else                                                                      
    if (maior=ptsP) or (maior=ptsA) or (maior=ptsI) and (gmM>gmP) or (gmM>gmA) or (gmM>gm) then
       writeln('1ºLugar  Milão: ',ptsM,' pts')                                
else                                                                      
maior:=maior;

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NCS_One    2
NCS_One

Ois

Ha maneiras mais simples de fazer isso, mas isso so como tu tens pode dar barraca, se o numero de pontos for igual

vai se ver quem tem mais golos marcados e entao se o numero de golos marcados for tambem igual ? Como fazes ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Parasita    0
Parasita

inda nao testei a tua maneira, mas para responder á tua questão existe ainda a variavel de golos sofridos, ou seja se o nº de pts for = e os golos marcados forem iguais entao o desempate é atraves dos golos sofridos, mas eu ainda nao queria entrar por aí pois ainda nao cheguei lá e 1º kero resolver em relaçao aos pontos e aos golos marcados.

desde já muito obrigado e se tiverem mais soluçoes eu agradeço  :-[

Já agora existe um conceito k me falaram que se chama booble sort e k me dizeram k era o soficiente para resolver este caso, mas eu nao sei como funciona se por acaso souberes agradecia k mo explicasses.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade