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

Dúvida extremamente iniciante


stallman

Pergunta

Olá! Comecei a aprender C ontem à noite mas estou travado com uma dúvida faz várias horas. Apesar de ser bem iniciante, tentei me explicar como pude. Lá vai:

Tenho o seguinte código:

#include <stdio.h>

int main()
{
    int N=0,X,Y,U,V,Xa=0,Ya=10000,Ua=10000,Va=0,count=1,ans;


    while(count<999999) {
        
        scanf("%d", &N);

        while(N>0) {

            scanf("%d %d %d %d", &X, &Y, &U, &V);

            if(X>Xa) {
                Xa=X;
            }
            if(Y<Ya) {
                Ya=Y;
            }
            if(U<Ua) {
                Ua=U;
            }
            if(V>Va) {
                Va=V;
            }

            N-=1;
        }

        printf("Teste %d\n", count);
        
        if(Xa>Ua) {
            printf("nenhum\n\n");
        } else if(Ya<Va) {
            printf("nenhum\n\n");
        } else {
            printf("%d %d %d %d", Xa, Ya, Ua, Va);
        }

        count++;

    }
    return 0;
}

O que acontece é que o programa se comporta dessa maneira:

macaco1hu6.jpg

E preciso fazer com que se comporte dessa maneira (ler tudo, e quando aparecer uma entrada 0 mandar o printf de todos os testes):

macaco3au9.jpg

Obs: nas imagens, a entrada está em cinza padrão e eu pintei a saída de verde)

É basico: armazenar os printf e jogar tudo no final. Mas não faço idéia de como fazer isso.

Sei que pra resolver é só processar os printf do final.

Mas se precisarem entender o exercício, a explicação dele está aqui

Espero que eu tenha conseguido explicar.

Obrigado desde já!

Editado por stallman
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Como eu disse, nesses tipos de exercicios não é preciso fazer isso. O que acontece, é que nessas tarefas(de olimpiadas), as entradas no seu programa são feitas atraves de um arquivo e lidas "todas de uma vez", e o correto é ir imprimindo em tempo de execução mesmo, e não no fim.

No linux, para ler as entradas de um arquivo você faz assim:

./programa > ArquivoDeEntrada

Assim, o seu programa vai imprimir a saida referente as entradas que você digitou em ArquivoDeEntrada.

Não é necessário ler tudo, para só no fim, imprimir todos os n Testes.

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,2k
    • Posts
      652k
×
×
  • Criar Novo...