Foros del Web » Programación para mayores de 30 ;) » C/C++ »

codigo no imprime lo que deberia

Estas en el tema de codigo no imprime lo que deberia en el foro de C/C++ en Foros del Web. Saludos! tengo un pequeño problema con el siguiente codigo, deberia imprimir una piramide segun el tamaño que de el usuario pero no mas grande al ...
  #1 (permalink)  
Antiguo 17/04/2012, 09:17
 
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
codigo no imprime lo que deberia

Saludos!

tengo un pequeño problema con el siguiente codigo, deberia imprimir una piramide segun el tamaño que de el usuario pero no mas grande al arreglo maximo; el objeto es simular una especie de pin ball donde el objeto cae entre los * dependiendo de un random;

he logrado que haga todo excepto imprimir el objeto donde debe, alguien ve el porque?

el .cpp esta aca: [URL="http://72.233.91.186/prog/piramide.rar"]http://72.233.91.186/prog/piramide.rar[/URL]

main pide el numero de filas y genera random, lo entrega a funcion pinta quien se encarga de validar y entregar las variables a fondo, quien construye el arreglo maximo, primero al llenar todo con espacios y luego asignando los * de la piramide; enseguida muestra la piramide hasta la fila que pidio el usuario, sin embargo no logro que imprima el objeto...
  #2 (permalink)  
Antiguo 17/04/2012, 10:46
 
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: codigo no imprime lo que deberia

include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <time.h>
#include <Windows.h>


using namespace std;



int random(int a, int b)
{
return a+rand()%(b-a);
}


void fo(int t,int n)
{
int re;
re=0;

char fondo[9][16], f, c, fi;

/* crea toda la piramide con espacios */


for(f=0;f<9;f++)
{
for(c=0;c<16;c++)
{
fondo[f][c]=' ';
}
}



/* crea todos los * de la piramide */

fondo[1][8]='*';
fondo[8][15]='*';
fondo[2][7]='*';
fondo[2][9]='*';
fondo[3][6]='*';
fondo[3][8]='*';
fondo[3][10]='*';
fondo[4][5]='*';
fondo[4][7]='*';
fondo[4][9]='*';
fondo[4][11]='*';
fondo[5][4]='*';
fondo[5][6]='*';
fondo[5][8]='*';
fondo[5][10]='*';
fondo[5][12]='*';
fondo[6][3]='*';
fondo[6][5]='*';
fondo[6][7]='*';
fondo[6][9]='*';
fondo[6][11]='*';
fondo[6][13]='*';
fondo[7][2]='*';
fondo[7][4]='*';
fondo[7][6]='*';
fondo[7][8]='*';
fondo[7][10]='*';
fondo[7][12]='*';
fondo[7][14]='*';
fondo[8][1]='*';
fondo[8][3]='*';
fondo[8][5]='*';
fondo[8][7]='*';
fondo[8][9]='*';
fondo[8][11]='*';
fondo[8][13]='*';
fondo[8][15]='*';

/* establece donde va el objeto del juego */


/*Pone en pantalla la piramide con tamaño seleccionado */
for (fi=0;f<t+1;f++)
{
for(f=0;f<t+1;f++)
{
for(c=0;c<16;c++)
{
if (n%2==0)
{
fondo[f][c+1]='o';
}
else
{
fondo[f][c-1]='o';
}

cout<<fondo[f][c];

}
cout<<endl;
}
}


}

/* entrega variables N y T a fo */
void pinta(int n, int t)
{


if (t>8)
{
cout<<"superaste el limite, vuelve a intentarlo.";
}
else
{
fo(t,n);
}


}


void main ()
{
int t, x, y, tiempo, n, a, b, tamanio, r, d;

x=0;
a=0;
cout<<"introduce un numero de filas entre 0 y 7 para definir la altura de tu piramide: ";
cin>>t;


while(x<t)
{
for(x=0; x<t; x++)
{

tiempo=time(NULL);
srand(tiempo);
n=random(a, t);
pinta(n,t);


}
}



getch();

}

Etiquetas: funcion, imprime, arreglos, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:37.