Ir ao conteúdo
  • Cadastre-se

C Problema Uri 2022 - Presentes de Natal


Jeronimo Teixeira

Posts recomendados

Olá, eu uso o Uri pois meu professor utiliza essa plataforma para fazer nossas avaliações

no entanto estou tendo problema com um programa, no qual, consegui criar no compilador, no entanto, o uri alega 10% de erro

Link do problema: https://www.urionlinejudge.com.br/judge/pt/problems/view/2022

e minha resolução: 

 

__________________________________________________________________________________________________

#include<stdio.h>
#include<string.h>
typedef struct{
    char nomep[25];
    double valor;
    int nota;
}pp;
typedef struct{
    char nome[15];
    int qnt;
    pp presente[100], aju; 
}pe;
main()
{
    pe crianca[100], ajuda;
    int y, z, w, i;
    char comp1[50], comp2[50], aux[1];
    w=0;
    while (scanf("%s%d",&crianca[w].nome, &crianca[w].qnt)!=EOF)
    {
        for(y=0; y<crianca[w].qnt; y++)
        {
            fflush(stdin);
            gets(crianca[w].presente[y].nomep);
            scanf("%lf%d",&crianca[w].presente[y].valor, &crianca[w].presente[y].nota);
        }
        for(y=0; y<crianca[w].qnt; y++)
        {
            for(z=(y+1); z<crianca[w].qnt; z++)
            {
                if(crianca[w].presente[y].nota < crianca[w].presente[z].nota)
                {
                    ajuda.aju = crianca[w].presente[y];
                    crianca[w].presente[y]=crianca[w].presente[z];
                    crianca[w].presente[z]= ajuda.aju;
                }
                if(crianca[w].presente[y].nota == crianca[w].presente[z].nota)
                {
                    if(crianca[w].presente[y].valor> crianca[w].presente[z].valor)
                        {
                            ajuda.aju=crianca[w].presente[y];
                            crianca[w].presente[y]=crianca[w].presente[z];
                            crianca[w].presente[z]= ajuda.aju;
                        }
                    if(crianca[w].presente[y].valor == crianca[w].presente[z].valor)
                    {
                        for(i=0; i<strlen(crianca[w].presente[y].nomep); i++)
                        {
                            comp1 = crianca[w].presente[y].nomep;
                        }
                        for(i=0; i<strlen(crianca[w].presente[z].nomep); i++)
                        {
                            comp2 = crianca[w].presente[z].nomep;
                        }
                        for(i=0; i<strlen(comp1); i++)
                        {
                            if(comp1==' ')
                            {
                                comp1 = comp1[i+1];
                                comp1[i+1]= ' ';    
                            }
                        }
                        for(i=0; i<strlen(comp2); i++)
                        {
                            if(comp2==' ')
                            {
                                comp2 = comp2[i+1];
                                comp2[i+1]= ' ';
                            }
                        }
                        tolower(comp1);
                        tolower(comp2);
                        if(strcmp(comp1, comp2) > 0)
                        {
                            ajuda.aju=crianca[w].presente[y];
                            crianca[w].presente[y]=crianca[w].presente[z];
                            crianca[w].presente[z]= ajuda.aju;    
                        }
                    }
                }
            }
        }
        w++;
    }
    for(z=0; z<w; z++)
    {
        printf("Lista de %s\n",crianca[z].nome);
        for(y=0; y<crianca[z].qnt; y++)
        {
            printf("%s - R$%.2lf ", crianca[z].presente[y].nomep, crianca[z].presente[y].valor);
        }
    }
}

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

URI :tw_heart:

Só queria externar meio amor pela URI.

 

Vou deixar uma dica, daí você segue ou não, considera útil ou não.

'Mais bixo' C é uma linguagem de programação de funções, porém para você e para maioria das pessoas, eu me incluiu nessas, parece que só existe um luga para deixar o código e este lugar é dentro do main. Digo isso porque Eu também jogo tudo dentro do main faço aquela bagunça doida da p****. Daí quando começa aparecer os erros lógicos é aquela loucura para achar dói tudo daí apago e faço mais organizado. Os exercício da URI são ótimos para nos doutrinar na qualidade de programadores mais organizados.

 

Eu estou aprendendo lá também resolvi hoje um exercício que só 120 pessoas resolveram e fiquei no 12 lugar foi uma emoção só. Não estraga não, descobre sozinho que é mais gostoso :thumbsup:

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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...