Necesito ayuda con este perfil de montaña

THVNDER
18 de Octubre del 2005
Hola, tengo que resolver este problema:

Crear un programa que genere un perfil de montaña, sabiendo que entre
cada peldaño de la misma sólo puede haber un unidad de diferencia
(positiva o negativa). Utilizaremos la función gotoxy(x,y) para posicionar
cada elemento en pantalla y la función rand() para generar números
aleatórios. El número máximo de peldaños es MAX_PELDANOS y la
altura del nuevo peldaño estará entre MAX_ALTURA_PELDANO y
MIN_ALTURA_PELDANO. Crear todos los tipos y variables que se
requieran.
La idea es hacer un perfil que recuerde una montaña con altos y bajos y totalmente aleatoria.
Para crear cada peldaño deberemos primero generar un número aleatorio entre
MIN_ALTURA_PELDANO y MAX_ALTURA_PELDANO. Una vez tenemos esta altura
debemos hacer una iteración para cada nuevo peldaño hasta llegar a los MAX_PELDANOS de
nuestra montaña.
Es aconsejable hacer este proceso en dos pasos, primero calcular los números aleatorios
según esta condición y después imprimir en pantalla los cuadrados que formen visualmente la
montaña.
Para posicionar un cuadrado en pantalla utilizaremos la función gotoxy(x,y) y para trabajar
con colores utilizaremos la librería conio.h y sus funciones (textcolor(COLOR) y cprintf() que
funciona igual que printf).

Yo lo he intentado hacer con turbo C, y al compilar no me da ningun error pero no consigo que el programa me genere columnas...sino que me hace una L solamente, y no se de que puede ser. Si alguien me pudiese ayudar? GRACIAS y SALU2.

THVNDER
18 de Octubre del 2005
El codigo que tengo es este:

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>



void main()

{

int max_peldanos=15;

int max_altura_peldano,min_altura_peldano,d,x,i,y,num,j,k=0;

int a=10;

int b=20;


clrscr();

printf(\"Programa que genera un perfil de monta¤a con valores aleatorios\\n\\n\");

printf(\"Introduce el valor de m xima altura del pelda¤o:\\n\");

scanf(\"%d\",&max_altura_peldano);

printf(\"Introduce el valor de m¡nima altura del pelda¤o:\\n\");

scanf(\"%d\",&min_altura_peldano);

d=(max_altura_peldano - min_altura_peldano)+1;

x=(rand()%d)+min_altura_peldano;

num=x;



while (x!=0)



{

gotoxy(a,b);

printf(\"±\");

b=b-1;

x=x-1;


}

x=num;

for(i=1;i<=max_peldanos;i=i+1)

{

a=a+1;

b=20;

y=rand()%2;

if (y!=0)

{

gotoxy(a,b);

x=x+1;

for (j=0;j<=x;j++)

{

printf(\"±\");

b=b-1;

}



} else

gotoxy(a,b);

x=x-1;

for (k=0;k<=x;k++)

{

printf(\"±\");

b=b-1;


}



}


fflush(stdin);






}

THVNDER
18 de Octubre del 2005
Por Favor...si alguien me lo puediese mirar...GRACIAS