Ir ao conteúdo

Posts recomendados

Postado

Um arqueiro encontra-se parado em um ponto A e dispara uma flecha numa direçao dada por um vetor D na tentativa de acertar uma maça que encontra-se parada num ponto M. Escreva um programa em C que verifica se o arqueiro acertou a maça. Considere que A, D, M ∈ R 3 , tanto a flecha quanto a maça são pontos materiais e que o movimento da flecha ´e estritamente retiléneo. 

 

Na primeira linha havera as coordenadas do ponto A. Na segunda linha as coordenadas do vetor D. Na terceira linha  as coordenadas do ponto M. 

Se o arqueiro acertou a maça deve ser impresso “acertou”, caso contrario deve sem impresso “errou”.

 

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

//Um arqueiro encontra-se parado em um ponto A e dispara uma flecha numa direçao dada por um vetor D na tentativa de acertar uma maça que encontra-se parada num ponto M.

// Considere que A, D, M pertence a R3 , tanto a flecha quanto a maça sao pontos materiais e que o movimento da flecha é MRU

 

//Função que verifica se o arqueiro acertou a maça

int tiro_alvo(int ponto_A,
                      int vetor_D,
                      int ponto_M){

 

 

 

 

 

  • Curtir 1
Postado
3 minutos atrás, Mauro Britivaldo disse:

Estou mais preocupado em saber se entendeu a relação que existe em  A, D e M?

Vetor D seria  distancia dos pontos , ou seja  AM ? isso neé ?, se souber  e puder me explicar por gentileza.

  • Curtir 1
Postado
19 minutos atrás, lidy ane disse:

Vetor D seria  distancia dos pontos , ou seja  AM ?

Pode ser, são coordenadas relacionadas a distancia entre os pontos.

Qual a sua dúvida?

  • Curtir 1
Postado

@Mauro Britivaldo

//Verifica se o arqueiro acertou a maça

int main()
{
    Ponto A( x1, y1);
    Ponto M(x2,y2);
    Distancia dist(A, M);

 struct Ponto A
{
    int x1;
    int y2;
 
    Ponto M {
        x2 = 0;
        y2 = 0;
    }
 
    Ponto AM (int x, int y) {
        _x = x;
        _y = y;
    }
};
class Distancia
{
private:
    Ponto _A;
    Ponto _M;
public:
    Distancia(Ponto A, Ponto M) {
        setDados(A, M);
    }
    void setDados(Ponto A, Ponto M) {
        _A = A;
        _M = M;
    }
    double getDistancia() {
        double somaDoQuadradoDosCatetos = pow(std::abs(_A._x - _M._x), 2) + pow(std::abs(_A._y - _M._y), 2);
        return sqrt(somaDoQuadradoDosCatetos);
    }
    printf("acertou");
    
    else printf("errou");
};
 
return 0;
}

 

me ajude corrigir ?

  • Curtir 1
Postado

Eita! Minha sugestão é: Se D+A é igual a M então acertou.

Pois se M-A = D então M = D+A.

 

Escreveu em C++, mas pensei ser em C.

C++ estou fora !! rsrsr

  • Curtir 1
Postado
3 horas atrás, Mauro Britivaldo disse:

Eita! Minha sugestão é: Se D+A é igual a M então acertou.

Pois se M-A = D então M = D+A.

 

Escreveu em C++, mas pensei ser em C.

C++ estou fora !! rsrsr

 em liguagem C :

 

#include <stdio.h>
#include <math.h>

float calculaDistancia(int xA, int yA, int xM, int yM) {
    return sqrt( pow(xM-xA,2) + pow(yM-yA, 2) );
}

int main() {
    int xA,yA,xM,yM;
    float vetor_D;

    printf("\n");
    scanf("%i %i", &xA, &yA);

    vetor_D = calculaDistancia(xA,yA,xM,yM);
    printf("%f", vetor_D);


    printf("\n ");
    scanf("%i %i", &xM, &yM);

    }
 

**Fica faltando acrescentar essa relação em C  Se o arqueiro acertou a maça deve ser impresso “acertou”, caso contrario deve sem impresso “errou”, como faço ?

  • Curtir 1
Postado

Bom Dia.

 

E não é um simples soma de vetor e ponto.

É o ponto A + vetor D == M.

 

Sua missão para mim  é;

  1. Implementar a soma [vetor, ponto] que retorna um ponto daquela posição.
  2. void adicao (float vetor_d[2], /* com */ float ponto_a[2], float soma_da[2]) {
     ...
    }

     

  3. Implementar a compararão ponto, ponto que retorna 1 se  os pontos são iguais 0 quando não.
  4. int comparar (float ponto_da[2], float ponto_m[2]){
    ...
    }

     

 

 

Postado
18 horas atrás, lidy ane disse:

Considere que A, D, M ∈ R 3 , tanto a flecha quanto a maça são pontos materiais e que o movimento da flecha ´e estritamente retiléneo

 

pode ser que só eu esteja lendo assim, mas se trata de dois pontos e um vetor no espaço. O primeiro ponto a ponta da flecha. O segundo a posição da maçã. O vetor a direção do tiro.

Lembro extensa e folclórica discussão dias atrás neste forum tentando estabelecer que um vetor é definido por 3 coisas: módulo, direção e sentido.Pois é: o vetor indica a direção do tiro, que nesse caso é considerado retinho. E o sentido nesse caso é importante porque o cara tem que atirar na direção da maçã... Não adianta apontar certo mas para o lado errado. O módulo não importa.

 

O cara vai acertar a maçã se os pontos A e M estiverem alinhados com o vetor D. Como se espera. Aqui entre nós a flecha tem mesmo cara de vetor com até uma ponta indicando o sentido. Ou não?

 

Mas são pontos no espaço. Imagino que R3 indique isso.... 

 

Claro que no plano dá na mesma. y = ax + b é uma reta no plano

Se

  • ela contem dois pontos de D 
  • contem A
  • contem M

Então


A maçã já era.

 

 

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!