- Escreva uma função que verifique se um dado ponto está no interior de um dado circulo. Para tanto, passe como parâmetro o circulo e o ponto que se deseja saber a localização. Retorne 1 se ponto no interior do circulo e zero, caso contrario. Defina o tipo de dado PONTO, e o tipo CIRCULO usando um ‘aninhamento’ da estrutura PONTO. Escreva um programa que receba os dados do usuário, via teclado. Imprima o resultado.
Eu dei conta de faze-la sem precisar alocar e passar por referencia, porém eu gostaria de fazer com passagem por referencia que você utiliza a ->.
e gostaria de fazer também com alocação.
Segue o código abaixo:
#include <stdio.h>
#include <stdlib.h>
struct ponto {
int x;
int y;
};
struct circulo{
struct ponto c;
int r;
};
int verifica(struct circulo circ, struct ponto p);
int main()
{
struct ponto p;
struct circulo circ;
int status;
printf("\n entre com o circulo \n ");
printf(" centro = ");
scanf("%d %d", &circ.c.x, &circ.c.y);
printf("\n entre com o raio do circulo: ");
scanf("%d", &circ.r);
printf("\n entre com o ponto a ser analisado: ");
scanf("%d %d", &p.x,&p.y);
status = verifica(circ,p);
if (status == 0)
printf("\n o ponto p esta fora do circulo\n");
else
printf("\n o ponto p esta dentro do circulo\n\n");
system("pause");
}
int verifica(struct circulo *circ, struct *ponto p)
{
float d;
d = sqrt(powf(circ.c.x - p.x,2) + powf(circ.c.y - p.y,2));
Pergunta
vitnx
Senhores tenho a seguinte Questão a ser feita:
- Escreva uma função que verifique se um dado ponto está no interior de um dado circulo. Para tanto, passe como parâmetro o circulo e o ponto que se deseja saber a localização. Retorne 1 se ponto no interior do circulo e zero, caso contrario. Defina o tipo de dado PONTO, e o tipo CIRCULO usando um ‘aninhamento’ da estrutura PONTO. Escreva um programa que receba os dados do usuário, via teclado. Imprima o resultado.
Eu dei conta de faze-la sem precisar alocar e passar por referencia, porém eu gostaria de fazer com passagem por referencia que você utiliza a ->.
e gostaria de fazer também com alocação.
Segue o código abaixo:
#include <stdio.h>
#include <stdlib.h>
struct ponto {
int x;
int y;
};
struct circulo{
struct ponto c;
int r;
};
int verifica(struct circulo circ, struct ponto p);
int main()
{
struct ponto p;
struct circulo circ;
int status;
printf("\n entre com o circulo \n ");
printf(" centro = ");
scanf("%d %d", &circ.c.x, &circ.c.y);
printf("\n entre com o raio do circulo: ");
scanf("%d", &circ.r);
printf("\n entre com o ponto a ser analisado: ");
scanf("%d %d", &p.x,&p.y);
status = verifica(circ,p);
if (status == 0)
printf("\n o ponto p esta fora do circulo\n");
else
printf("\n o ponto p esta dentro do circulo\n\n");
system("pause");
}
int verifica(struct circulo *circ, struct *ponto p)
{
float d;
d = sqrt(powf(circ.c.x - p.x,2) + powf(circ.c.y - p.y,2));
if (d < circ.r)
return 1;
else return 0;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.