Título: codigo no imprime como deberia, ayuda! Publicado por: balanis en 17 Abril 2012, 17:20 pm 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: http://72.233.91.186/prog/piramide.rar 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... +0 -0 Título: Re: codigo no imprime como deberia, ayuda! Publicado por: x64core en 17 Abril 2012, 18:33 pm pone el cpp aquí con geshi
Título: Re: codigo no imprime como deberia, ayuda! Publicado por: balanis en 17 Abril 2012, 18:41 pm no encuentro como publicar el cpp aqui =/
Título: Re: codigo no imprime como deberia, ayuda! Publicado por: balanis en 17 Abril 2012, 18:42 pm 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(); } |