[Help] con programa en c

letman

bueno haber tengo casi todo el codigo hecho del programa pero me falta un apartado.. q dice q se deben calcular los vertices del rectangulo y almacenarlos en un array de tipo Punto, el array coincidira con los puntos de la figura

la figura es un rectangulo con 4 puntos en cada vertice.. p1,p2,p3,p4

el problema viene que no se calcular los vertices del rectangulo
//arr Punt[4]={p1,p2,p3,p4}
este seria el array dodne introduciria los valores de los puntos..
pero es que nose como se calculan alguien me dice como se hace thxs

letman

como se pone el codigo como si fuera en c aki en la web es para q ue no quepa tanto el codigo!

LOc0

C-----------------------D
|------------------------|
|------------------------|
|------------------------|
A-----------------------B

PUNTO=(x,y)

A=(0,0)
B=(ANCHO, 0)
C=(0, ALTO)
D=(ANCHO, ALTO)

Salu2 ;)

PD: www.pastebin.es

NeB1

o bien pones el codigo en pastebin o entre las etiquetas [ code ] y lo mismo con /

 
letman

tengo el codigo hecho entero ya..
pero
me dice q la funcion sqtr no encuentra el identificador

tengo puesta las librerias

#include <stdio.h>
#include <moth.h>
#include "stdafx.h"

y sigue sin irme alguien sabe como es?¿
aki esta el codigo

 #include <stdio.h>
#include <moth.h>
#include "stdafx.h"

struct punto
{
	float x;
	float y;
};
struct Recta
{
	struct punto pa;
	struct punto pb;
	struct punto pc;
	struct punto pd;
};



int _tmain(int argc, _TCHAR* argv[])
	
{
	
struct Recta r1;
float longitud;
float pendiente;
float h=0;
char continuar;
float m;
float n;
float o;
float p;


do 
{
// Pediremos las coordenadas de los puntos:
	
printf ("\nPor favor, inserte las coordenadas a continuación:\n");
printf ("\nInserte la coordenada x del punto A: ");
scanf ("%f",&r1.pa.x); fflush (stdin);
printf ("\nInserte la coordenada y del punto A: ");
scanf ("%f",&r1.pa.y); fflush (stdin);
printf ("\nInserte la coordenada x del punto B: ");
scanf ("%f",&r1.pb.x); fflush (stdin);
printf ("\nInserte la coordenada y del punto B: ");
scanf ("%f",&r1.pb.y); fflush (stdin);

// Comprobamos que los puntos están dentro del primer cuadrante
	


	if (((r1.pa.x>=0)||(r1.pa.y>=0))||((r1.pb.x>=0)||(r1.pb.y>=0)))
	{
		
		//Hallamos la longitud de la recta
		
		m = ((r1.pb.y)-(r1.pa.y));
		n = ((r1.pb.x)-(r1.pa.x));
		longitud=sqtr((m*m) + (n*n));

		if (longitud<0)
		{
			longitud = longitud * (-1);
			printf ("\nLa longitud de la recta es: %f unidades", longitud);
		}
		else
		{
		printf ("\nLa longitud de la recta es: %f unidades", longitud);
		}

		//Ahora hallamos la pendiente de la recta, pero deberemos hallar también 
		//es nula o no.

		o=(r1.pb.y)-(r1.pa.y);
		p=(r1.pb.x)-(r1.pb.x);
		pendiente=(float)o/p;

		if (pendiente==0)
		{
			printf ("\nInserte la altura: ");
			scanf ("%f", &h); fflush (stdin);

		// Calculamos ahora los puntos C y D.
			 
				r1.pd.y=r1.pa.y+h;
				r1.pc.y=r1.pb.y+h;
				r1.pd.x=r1.pa.x;
				r1.pc.x=r1.pb.x;
		
				// Mostramos por pantalla ahora las coordenadas de los puntos.

				printf ("\nLa coordenada del punto D, sera: %f, %f", r1.pd.x, r1.pd.y);
				printf ("\nLa coordenada del punto C, sera: %f, %f", r1.pc.x, r1.pc.y);
				printf ("\nLa coordenada del punto B, sera: %f, %f", r1.pb.x, r1.pb.y);
				printf ("\nLa coordenada del punto A, sera: %f, %f", r1.pa.x, r1.pa.y);
			
		}
		else 
		{
			printf ("\nLa pendiente de la recta es: %f", pendiente);
		
		}
		
	}
	else
	{

		printf ("\nLas coordenadas deben estar en el primer cuadrante!\n");

	}
	
	
	do
	{
		printf ("\n\nDesea continuar? (S/N): ");
		scanf ("%c",&continuar); fflush(stdin);
	}
	while (continuar!='s' && continuar!='n' && continuar!='S' && continuar!='N');
 

}

while (continuar=='s' || continuar=='S');

getchar ();
} 
LOc0

#include <math.h>

Salu2 ;)

letman

sigue sin irme eso no tiene qser alguna opcion mas>?

elkaoD

¿Pero exáctamente qué tiene que hacer el programa?

Fyn4r

Cuando pones sqtr intentas poner sqrt? xD

LOc0

¿Plataforma? ¿Compilador? (Imagino que MS Visual Studio pero a saber...)

Aquí tienes el código "corregido" para que compile sin errores.
http://pastebin.es/17031

(No me he molestado en mirar qué se supone que tiene que hacer el programa ni si lo hace bien).

Salu2 ;)

dr_Rouman

Si usas math, y no estás usano ningún entorno, añade un -lm a la línea del gcc

Además de que es sqrt, eso xD

letman

osea q no hace falta poner sqrt?

oZk4h

square root

Usuarios habituales

  • oZk4h
  • letman
  • dr_Rouman
  • LOc0
  • Fyn4r
  • elkaoD
  • NeB1