Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/01/2009, 15:12
Avatar de Lecquio
Lecquio
 
Fecha de Ingreso: mayo-2004
Ubicación: Asturias, España
Mensajes: 948
Antigüedad: 20 años
Puntos: 34
Respuesta: Implementar esta función en C

No se como pasar a codigo la formula para estimar la idoneidad de una poblacion para establecer un centro comercial.
Tengo dos RECORD: uno con poblaciones y otro con datos del centro comercial.
Se supone que tengo que hallar la distancia entre 2 poblaciones, pero entre que 2 poblaciones tengo que calcular la distancia.
Esto es lo que he hecho hasta ahora:
Código:
FOR c:=1 TO n DO
		FOR d:=c+1 TO n DO
			(*calculo distancia del pueblo d al siguiente, y si estoy en el ultimo pueblo, al primero*)
			distancia2:= (pueblo[c].centro.x-pueblo[d].centro.x)*(pueblo[c].centro.x-pueblo[d].centro.x)+(pueblo[c].centro.y-pueblo[d].centro.y)*(pueblo[c].centro.x-pueblo[d].centro.x);
			distancia:=sqrt(FLOAT(distancia2));
			aux:=TRUNC(distancia);
			aux2:=fpob[1];
			IF d=c+1 THEN
				fpob[c] := centro[1].tamano * pueblo[c].precio -(habitantes * aux);
			ELSE
				IF fpob[c]>(centro[1].tamano * pueblo[c].precio -(habitantes * aux)) THEN
					fpob[c] := centro[1].tamano * pueblo[c].precio -(habitantes * aux);
				END;
			END;
			WriteInt (fpob[c],5); (*imprimimos los distintos resultados de la formula*)
			WriteInt(c,3);
			
			WriteLn();
		END;
	END;
Meto los resultados de la formula en un array y luego comparo resultados para ver cual es más bajo.
Pero no estoy seguro de que este bucle este correcto para esa formula.