Ir ao conteúdo
  • Cadastre-se
Leehaney soares

VisualG Criar uma tabela de partidas com vetores

Recommended Posts

Pessoal estou precisando de ajuda, comecei meu curso na faculdade e não estou conseguindo fazer um exercício de vetores que é pedir para o usuário digitar 3 times de futebol e fazer mostrar as possíveis combinações de partidas entre eles. Porém os resultados não podem se repetir. Segue o Código abaixo:

 

obs: Estou com dificuldades com vetores e laços de repetições utilizados juntos, alguém poderia me indicar um material ?

algoritmo "TabelaDePartidas"
var
   i,j: inteiro
   nome: vetor[1..4] de Caractere
inicio
   Para i de 1 ate 3 faca
        Escreva("Nome do ",i,"° Time: ")
        leia(nome[i])
   FimPara
   LimpaTela
   EscrevaL("=================================")
   EscrevaL("T A B E L A  D E  P A R T I D A S")
   EscrevaL("=================================")
   Para i <- 1 ate 3 faca
        para j <- i ate 3 faca
           escreval(nome[i]," [] X [] ",nome[j])
        FimPara
   FimPara
fimalgoritmo

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Leehaney soares     para postar seu código é melhor usar o botão   <>  que está lá na barra de ferramentas da janela de postar , senão seu código fica faltando alguns caracteres  como os [ i ]   que sumiram do seu código ,  e para verificar se os times não se repetem verifique pelo nome no vetor , então seu código com algumas modificações poderia ser assim  :

algoritmo "TabelaDePartidas"
var
   i,j: inteiro
   nome: vetor[1..4] de Caractere
inicio
   Para i de 1 ate 3 faca
        Escreva("Nome do ",i,"° Time: ")
        leia(nome[i])
   FimPara
   LimpaTela
   EscrevaL("=================================")
   EscrevaL("T A B E L A  D E  P A R T I D A S")
   EscrevaL("=================================")
   Para i <- 1 ate 3 faca
        para j <- 1 ate 3 faca
          se (nome[i]<> nome[j])e(j>i) ENTÃO
           escreval(nome[i]:12," [] X [] ",nome[j])
          fimse
        FimPara
   FimPara


fimalgoritmo

e tem alguns exemplos de vetor nesse link :

https://pt.scribd.com/doc/59184125/Vetores-Em-VisualG

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
54 minutos atrás, Leehaney soares disse:

Pessoal estou precisando de ajuda, comecei meu curso na faculdade e não estou conseguindo fazer um exercício de vetores que é pedir para o usuário digitar 3 times de futebol e fazer mostrar as possíveis combinações de partidas entre eles. Porém os resultados não podem se repetir. Segue o Código abaixo: 

 

obs: Estou com dificuldades com vetores e laços de repetições utilizados juntos, alguém poderia me indicar um material ?


O segredo é entender o problema.

Então, além da forma como @devair1010 implementou, poderia ser algo assim também:
 

Pense no problema sem a necessidade da implementação de um código... como faria isso no mundo real? por exemplo estando lá numa quadra antes de começar o baba?

 

Sem se preocupar muitos com formalizações de conceitos, eu pensaria algo assim:
Time A contra os outros, ou seja, AxB e AxC. Beleza...
Time B contra os outros, ou seja, BxA e BxC, ôpa. Repetiu... Analisando veria que seria: Time B contra todos os outros, menos o time A, pois ele já jogou contra o B, já que "foi contra todos".

Time C contra os outros, menos A e B... pois assim como A já foi contra todos, B também já foi para os seus, ou seja, não vai sobrar partidas... (mas se tivesse mais times "novos', seguiria a mesma lógica).

Deu para entender?

 

Agora traduzindo isso para um algoritmo:

   para i <- 1 ate 3 faca //para cada um dos 3 times
      para j <- i+1 ate 3 faca //enfreta todos os outros times que ainda não entrentou todos os outros times
            escreval(nome[i]:12," [] X [] ",nome[j])

Como para o último time não tem mais ninguém, fica:

   para i <- 1 ate 2 faca //para cada um dos times, menos o último (pois não precisa)
      para j <- i+1 ate 3 faca //enfreta todos os outros times que ainda não entrentou todos os outros times
            escreval(nome[i]:12," [] X [] ",nome[j])

 

 

No aguardo.

adicionado 7 minutos depois

PS: aproveitando o contexto, se quiser exercitar, como seria um algoritmo se fosse permitido a repetição de partidas? ou seja, quais seriam os jogos dos 3 times para jogos de ida e volta?

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×