Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kaio Santos

Coordenadas dos meteoros

Recommended Posts

Galera preciso de ajuda para entender este problema, mais não consegui entender nada! poderiam me ajudar ??? vlww
Em noites sem nuvens pode-se muitas vezes observar pontos brilhantes no céu que se deslocam com grande velocidade, e em poucos segundos desaparecem de vista: são as chamadas estrelas cadentes, ou meteoros. Meteoros são na verdade partículas de poeira de pequenas dimensões que, ao penetrar na atmosfera terrestre, queimam-se rapidamente (normalmente a uma altura entre 60 e 120 quilômetros). Se os meteoros são suficientemente grandes, podem não queimar-se completamente na atmosfera e dessa forma atingem a superfície terrestre: nesse caso são chamados de meteoritos.
Zé Felício é um fazendeiro que adora astronomia e descobriu um portal na Internet que fornece uma lista das posições onde caíram meteoritos. Com base nessa lista, e conhecendo a localização de sua fazenda, Zé Felício deseja saber quantos meteoritos caíram dentro de sua propriedade. Ele precisa de sua ajuda para escrever um programa de computador que faça essa verificação automaticamente.
1. Tarefa
São dados:
• uma lista de pontos no plano cartesiano, onde cada ponto corresponde à posição onde caiu um meteorito;
• as coordenadas de um retângulo que delimita uma fazenda.
As linhas que delimitam a fazenda são paralelas aos eixos cartesianos. Sua tarefa é escrever um algoritmo que determine quantos meteoritos caíram dentro da fazenda (incluindo meteoritos que caíram exatamente sobre as linhas que delimitam a fazenda).
2. Entrada
Seu algoritmo deve ler vários conjuntos de testes. A primeira linha de um conjunto de testes contém quatro números inteiros X1, Y1, X2 e Y2, onde (X1, Y1) é a coordenada do canto superior esquerdo e
(X2, Y2) é a coordenada do canto inferior direito do retângulo que delimita a fazenda. A segunda linha contém um número inteiro, n, que indica o número de meteoritos. Seguem-se N linhas, cada uma contendo dois números inteiros X e Y, correspondendo às coordenadas de cada meteorito. O final da entrada é indicado por X1 = Y1 = X2 =Y2 = 0.
Exemplo de Entrada
1º conjunto de teste:
2 4 5 1
2
1 2
3 3
2º conjunto de teste:
2 4 3 2
3
1 1
2 2
3 3
Fim dos conjuntos de teste
0 0 0 0
3. Saída
Para cada conjunto de teste da entrada seu algoritmo deve produzir três linhas na saída. A primeira linha deve conter um identificador do conjunto de teste, no formato “Teste n”, onde n é numerado a partir de 1. A segunda linha deve conter o número de meteoritos que caíram dentro da fazenda.
A terceira linha deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida rigorosamente.
Exemplo de Saída
Teste 1
1
Teste 2
2
(esta saída corresponde ao exemplo de entrada acima)
4. Restrições
0 N 10.000
0 X 10.000
0 Y 10.000
0 X1 < X2 10.000
0 Y2 < Y1 10.000

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei se é isso que esperava.. mas foi isso que eu entendi:

 

 

//estou interpretando que vc gravou as informações dos meteoros em uma struct

typedef struct
{
    int x;
    int y;
    bool hit;
}struct_mtrs;

struct_mtrs Metrs[50] = {0};

//leia os dados fornecidos pelo prompt e grave assim:
Metrs[0].x = 10;
Metrs[0].y = 15;
//e vá pulando de posição em posição.

//estou assumindo que você ira armazenar

while(QMeteoros--)
{
    //voce pode fazer assim
    if((Metrs[QMeteoros].x >= X1 && Metrs[QMeteoros].x <= X2) && (Metrs[QMeteoros].y >= Y1 && Metrs[QMeteoros].y <= Y2) )
        Metrs[QMeteoros].hit = true;
    else
        Metrs[QMeteoros].hit = false;
        
    //ou assim
    
    Metrs[QMeteoros].hit = ((Metrs[QMeteoros].x >= X1 && Metrs[QMeteoros].x <= X2) && (Metrs[QMeteoros].y >= Y1 && Metrs[QMeteoros].y <= Y2) );
    
    // ou assim *hahah)
    Metrs[QMeteoros].hit = ((Metrs[QMeteoros].x >= X1 && Metrs[QMeteoros].x <= X2) && (Metrs[QMeteoros].y >= Y1 && Metrs[QMeteoros].y <= Y2) ) ? true : false;
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.