C/Visual C - Dificultades con algoritmo al pasarlo a C

   
Vista:

Dificultades con algoritmo al pasarlo a C

Publicado por Pedro (1 intervención) el 12/03/2015 20:04:40
Soy nuevo en esto de la programación me gustaria aprender aunque me esta costando mucho, no pensé que empezar fuera tan difícil

Algoritmo en pseudo codigo pasarlo a C

Estoy intentando pasar un algoritmo en pseudocodigo a C y ando muy perdido, a ver si pueden echarme una mano.

algoritmo maxSlope
const
HUGE_SLOPE: real = 9999999.0;
fconst
var
prevX, prevY, diffX, diffY, x, y: real;
slope, maxSlope: real;
track, maxTrack: entero;
fvar
{Pre: En la entrada estándar hay una secuencia :
< x0 y0 x1 y1 x2 y2 ... xn-1 yn-1 xn yn xn yn >
con n = N > 0, donde xi es la coordenada x del punt i, e yi es la coordenada y del punto i; }

maxSlope:= -HUGE_SLOPE;
maxTrack:= 0;
track:= 1;
prevX := readReal();
prevY := readReal();
x := readReal();
y := readReal();

mientras ( prevX ≠ x o prevY ≠ y ) hacer

diffX:= x – prevX;
diffY:= y – prevY;

si diffX = 0 entonces
si diffY > 0 entonces
slope:= HUGE_SLOPE;
sino
slope:= -HUGE_SLOPE;
fsi
sino
slope:= 100.0 * diffY / diffX;
fsi
si (slope > maxSlope) entonces
maxSlope:= slope;
maxTrack:= track;
fsi

track:= track + 1;
prevX:= x;
prevY:= y;
x := readReal();
y := readReal();
fmientras

writeReal( maxSlope );
writeInteger( maxTrack );

{Post: En la salida hay una secuencia < MaxPendent MaxTrack > donde se indica la pendiente máxima en % detectada en la secuencia de entrada y el tramo donde se ha encontrado el valor }
falgoritmo

Nota: Los reales se deben escribir con un decimal, con printf(“%.1f “, valor).


Hasta ahora llevo esto

#include <stdio.h>

int main()
{
const float HUGE_SLOPE=-9999999,0;

float prevX,prevY, diffX,diffY,x,y
float slope, maxSlope
int track, maxTrack
/*Pre: En la entrada estandar hay una secuencia: <X0 Y0 X1 Y1 X2 Y2...Xn-1 Y n-1 Xn Yn> con n=N>0 donde Xi
es la coordenada x del pun
t i e y i es la coordenada del punt i; } */
maxSlope==-(HUGE_SLOPE);
maxtrack=0
track=1
scanf("%f" &prevX)
scanf("%f" &prevY)
scanf("%f" &x)
scanf("%f" &y)

do
diffX=x - prevX
diffY=y -prevY;
if diffX = 0

while (prevX != x || prevY != y)



Pero no sé si voy bien y tampoco tengo muy claro como seguir

Esto es con subexponentes que no me funciona aqui ponerlo, Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder