Ir para conteúdo
Fórum Script Brasil
  • 0

Traduzir de C para Portugol


Júlio César De Amorim

Pergunta

Alguém me ajuda a fazer um algoritmo?, meu professor passou um trabalho na faculdade, onde temos que fazer um programa em c e fazer o algoritmo deles em portugol, porém eu fiz ele em portugol mas sempre da um bug, estou a 2 dias tentando fazer e nenhum colega de classe meu consegue me ajudar, então recorri aqui como última chance de conseguir.

Eu consegui fazer o algoritmo rodar perfeitamente no portugol, o problema é que deu um bug que quando eu fazia 2 rodadas, mesmo tendo 2 vencedores no par ou impar, sempre dava apenas o nome de 1 vencedor 2x

HELP 

/*Jogo de Par ou Ímpar. Nesse jogo, um dos participantes escolhe Par e o outro Ímpar. Após a escolha, os dois jogadores mostram,simultaneamente, 
uma certa quantidade de dedos de uma das mãos. Se a soma dos dedos das mãos dos dois jogadores for par vence o jogador que escolheu par incialmente, 
caso contrário vence o que escolheu Ímpar.*/
/*Dada uma sequencia de informações sobre partidas de Par ou Ímpar(nomes dos e números que os jogadores escolheram), você deve escrever um programa 
para indicar o vencedor de cada uma das partidas*/
/*A entrada é composta por um arquivo contendo vários conjuntos de testes. A primeira linha de um conjunto de testes contém um inteiro N, que indica o número de partidas de Par ou Ímpar que aconteceram. 
As duas linhas seguintes contém cada uma um nome de jogador. Um nome de jogador é uma cadeia de no mínimo um e no máximo dez letras(Maiusculas e minusculas), 
sem espaço em branco. As N linhas seguintes contém cada uma dois inteiros A e B que representam o número de dedos que cada jogador mostrou em cada partida (0 <= A <= 5 e 0 <= B <= 5).
Em todas as partidas, o primeiro jogador sempre escolhe Par. O final da entrada é indicado por N= 0*/
#include <stdio.h>

int main() {
    int partidas, i, cont, instancia = 0;
    int a, b, soma, tipo;
    int num1=0;
    
     printf("Digite o numero de partidas a serem jogadas:\n");
    scanf("%i", &partidas);
 
    while (partidas != 0){
        cont=0;
        char jog1[11], jog2[11];
        int ganhador[1000]; //0 = N = 1000
        printf("Digite o nome dos jogadores:\n");
         printf("Jogador 1:\n");
        scanf("%s", jog1);
        printf("Jogador 2:\n");
        scanf("%s", jog2);
 
        for(i = 0; i < partidas; i++)  {
            //escolher se par ou se impar
            printf("Escolha par(0) ou impar(1): ");
            scanf("%i:\n", &tipo);
             //faz a disputa
            printf("%s: ", jog1);
            scanf("%i", &a);
            printf("%s: ", jog2);
            scanf("%i", &b);
            soma = a + b;
            
            //verifica quem ganhou
            if (soma % 2 == 0) {
                if(tipo==0){    
                    ganhador[cont] = 1;
                }
                if(tipo==1){
                    ganhador[cont] = 2;
                }
            } else{
                if(tipo==0){
                    ganhador[cont] = 2;
                }
                if(tipo==1){
                    ganhador[cont] = 1;
                }
                
            }
            cont++;
        }
 
        instancia++;
        printf("Teste %i\n", instancia);
 
        //mostra o nome de quem ganhou cada disputa
        for(i = 0; i < cont; i++) {
            if (ganhador[i] == 1) {
                printf("%s\n", jog1);
            } else {
                printf("%s\n", jog2);
            }
        }
 
        printf("\n");
 
        //lê uma nova quantidade de disputas
        scanf("%i", &partidas);
    }
 
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Cara testei aqui e o seu código de certo.

Só coloquei uns \n, para facilitar a visualização

https://ideone.com/COrUbJ

Digite o numero de partidas a serem jogadas:
Digite o nome dos jogadores:
Jogador 1:
Jogador 2:
Escolha par(0) ou impar(1):
Leo:
Leticia:
Escolha par(0) ou impar(1):
Leo:
Leticia:
Escolha par(0) ou impar(1):
Leo:
Leticia:
Escolha par(0) ou impar(1):
Leo:
Leticia:
Teste 1
Leo
Leo
Leticia
Leticia

Digite o numero de partidas a serem jogadas:

 

Link para o comentário
Compartilhar em outros sites

  • 0

eu preciso de converter esse codigo para portugol 

#include<stdio.h>
int main()
{
   long long int n, primeiro = 0, segundo = 1, prox, c;
   int i,j;
   printf("Digite quatro valores: ");
   scanf("%d", &j);
   for(i=1; i<=j; i++, primeiro = 0, segundo = 1)
   {
       scanf("%lld",&n);
       n=n+1;
       for ( c = 0 ; c < n ; c++ )
       {
          if (c <= 1) prox = c;
          else
          {
             prox = primeiro + segundo;
             primeiro = segundo;
             segundo = prox;
          }
       }
          printf("Fib(%lld) = %lld\n",n-1,prox);
   }
   return 0;
}
 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...