Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2010, 17:55
luface2000
 
Fecha de Ingreso: octubre-2006
Mensajes: 169
Antigüedad: 17 años, 6 meses
Puntos: 2
Errores de compilación a veces

Hola,

resulta que he realizado "para el cole" un programa en C, trabajando en Ubuntu 10.04 con Code Blocks, compilado sin errores además de ejecutado y probado con unos valores de entrada y salida correctos. Pero cuando lo testeo con el corrector del cole me da error de compilación. Arranco Windows Vista con Dev-C y me da errores de compilación que no logro entender, como por ejemplo cambiar una variable llamada y1 a y11 para que compile sin error en esa línea. Tampoco entiendo el motivo que en CodeBlocks funcione y de los valores correctos y en Dev-C no. Supongo que serán los compiladores. Incluso había declarado las variables en una sola línea y lo he puesto de esta manera tan fea en un momento de desesperación, ¿me podéis ayudar?

Pongo el código y los errores que me devuelve Dev-C.

http://www.flickr.com/photos/3453236...n/photostream/

#include <stdio.h>

int dx;
int dy;
int p;
int end;
float x1;
float x2;
float y11;
float y2;
float x;
float y;


int main()
{

scanf("%f", &x1);
scanf("%f", &y11);
scanf("%f", &x2);
scanf("%f", &y2);

if(x1>=x2)
{
dx = int(x1-x2);
}else{
dx = int(x2-x1);
}

if(y11>=y2)
{
dy = int(y11-y2);
}else{
dy = int(y2-y11);
}

p = 2*dy - dx;


if(x1 > x2)
{
x = x2;
y = y2;
end = int(x1);
}
else
{
x = x1;
y = y11;
end = int(x2);
}

printf("%.2f %.2f ", x, y);


while(x < float(end))
{
x = x + 1.0;
if(p < 0)
{
p = p + 2*dy;
}
else
{
y = y + 1.0;
p = p + 2*(dy - dx);
}
printf("%.2f %.2f ", x, y);
}
return 0;
}