Ir ao conteúdo

Posts recomendados

Postado

Boa noite pessoal,

Estou precisando de ajuda com um código em c.

Segue a descrição do exercício:

 

Entrada: Esse problema é composto por vários exemplos. A primeira linha é composta por um inteiro N, 1<=N<=100, e indica o número de integrantes da quadrilha. As próximas N linhas contêm o posicionamento dos integrantes da quadrilha a partir de suas coordenadas X e Y no plano cartesiano do Jardim Botânico de Merculia. As coordenadas são números reais. Seu programa deve encerrar a execução quando 0 for o valor de N dado na entrada.

Saída Para cada instância, imprima uma linha dizendo a coordenada X e a coordenada Y do centro e o raio da circunferência com precisão de duas casas decimais.

 

Para encontrar o centro, tirar a média da maior e menor coordenada de x, e a media da maior e menor coordenada de y.

 

Fiz esse código, alguém pode por favor me ajudar a encontrar o erro? 

 

int main (){
	int N, i;
	float maiorx, menorx, maiory, menory, r, cx, cy;
	scanf("%d", &N);
	float x[100], y[100];
	while(N!=0){
		for(i = 0; i < N;i ++){
			scanf("%f %f", &x[i], &y[i]);
			maiorx  = x[i];
			menorx = x[i];
			maiory = y[i];
			menory = y[i];
		}
		
		for(i=0; i<N; i++){
			if(maiorx < x[i]){
				maiorx = x[i];
			}
			if(menorx > x[i]){
				menorx=x[i];
			}
			if(maiory < y[i]){
				maiory = y[i];
			}
			if(menory > y[i]){
				menory = y[i];
			}
		}
		cx = (maiorx + menorx) / 2;
		cy = (maiory + menory) / 2;
		r = sqrt((maiorx - cx) * (maiorx - cx) + (maiory - cy) * (maiory - cy));
		printf("%.2f %.2f %.2f\n", cx, cy, r);
		
		scanf("%d", &N);
	}
	return 0;
}

 

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

int main (){
	int N, i;
	float maiorx = 0, menorx = DBL_MAX, maiory = 0, menory = DBL_MAX, r, cx, cy;
	scanf("%d", &N);
	float x[100], y[100];
	while(N!=0){
		for(i = 0; i < N;i ++){
			scanf("%f %f", &x[i], &y[i]);
			if (x[i] > maiorx) maiorx  = x[i];
			if (x[i] < menorx) menorx  = x[i];
			if (y[i] > maiory) maiory  = y[i];
			if (y[i] < menory) menory  = y[i];
		}
		
		
		cx = (maiorx + menorx) / 2;
		cy = (maiory + menory) / 2;
		r = sqrt((maiorx - cx) * (maiorx - cx) + (maiory - cy) * (maiory - cy));
		printf("%.2f %.2f %.2f\n", cx, cy, r);
		
		scanf("%d", &N);
	}
	return 0;
}

 

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