Ir ao conteúdo

Posts recomendados

Postado

#include <stdio.h>
#include <vector>

struct crianca{
       char nome[30];
       int valor;
       bool marcado;
       struct crianca *ant;
       struct crianca *prox;
};

int main(){
    int n, i, j, n1;
    int marcados, comp, comp1;
    
    while(scanf("%d", &n) && n){          
            struct crianca array[n];
            for(i = 0; i < n; i++){
                  scanf(" %s %d", &array.nome, &array.valor);
                  if(i != 0){
                       array.ant = &array[i-1];
                       array[i-1].prox = &array;
                  }
            }
            array[n-1].prox = &array[0];
            array[0].ant = &array[n-1];
            
            std::vector<struct crianca> lista (array,array+n);
            std::vector<struct crianca>::iterator it;
            
            marcados = 0;
            comp = lista[0].valor;
            n1 = n - 1;
            while(marcados != n1 && n >= 2){
            printf("\nInterecao:\n\n");
            for (i=0; i < lista.size(); i++){
                   printf("\n%s:\n", lista.nome);
                   printf("valor = %d\n", lista.valor);
                   printf("proximo = %s %d\n", lista.prox->nome, lista.prox->valor);
                   printf("anterior = %s %d\n", lista.ant->nome, lista.ant->valor);
            }
            if(comp % 2 != 0){
                  printf("aqui\n");  
                  comp = comp%n;
                  if(comp == 0){
                     it = lista.end();
                     it->prox = &lista[0];
                     lista[comp+1].ant = &lista[n-1];
                  }else{
                     lista[comp-1].prox = &lista[comp+1];
                     lista[comp+1].ant = &lista[comp-1];
                  }
                  comp1 = lista[comp].valor;
                  lista.erase(lista.begin()+comp);
                  marcados++;
                  n--;
                  comp = comp1;
            }else{
                  comp = comp%n;
                  if(comp == 0){
                     it = lista.end();
                     it->prox = &lista[0];
                     lista[comp+1].ant = &lista[n-1];
                  }else{
                     lista[n-comp-1].prox = &lista[n-comp+1];
                     lista[n-comp+1].ant = &lista[n-comp-1];
                  }
                  comp1 = lista[n-comp].valor;
                  lista.erase(lista.begin()+(n-comp));
                  marcados++;
                  n--;
                  comp = comp1;
            }
            }
            
            printf("Vencedor(a): %s\n", lista[0].nome);
    }
    return 0;
}
            
 

adicionado 0 minutos depois

Alguem pode me ajudar por favor ?

converte esse codigo em C#

  • Curtir 1
Postado

@melo2d    você quer traduzir esse código para o c# ou como está no titulo ?       se for para c#  você precisa colocar seu código dentro de uma class principal  e dentro dessa classe coloque a função main  e as outras funções abaixo da main ,   então cloque o struct  no inicio do mesmo modo , sendo que precisa apenas colocar a palavra public antes do struct  e nas variáveis dentro das chaves do struct também coloque public antes delas e substitua os comandos , por exemplo no lugar de 

 printf 

coloque 

Console.write 

e assim por diante  os outros comandos ,   faça aos pouco e poste aqui para vermos como está e em  que podemos ajudar   .

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!