Programación General > C/C++
Dar forma a un Array Bidimensional
(1/1)
valcro:
Hola chic@s^^
Supongamos que quiero mostrar por pantalla un Array Unidimensional con el siguiente codigo:
--- Código: C++ --- #include <iostream>#include <cstdlib>using namespace std; const int TAMANIO = 2;typedef int ListaNumeros [TAMANIO]; void Escribir(ListaNumeros& lista){ int i; int numeros; cout << "Inserte " << TAMANIO << " numeros para mostrarlos." << endl; for (i=0; i<TAMANIO; i++){ cin >> numeros; lista[i] = numeros; } } void Imprimir(const ListaNumeros& lista){ int i; for (i=0; i<TAMANIO; i++){ cout << lista[i] << endl; } } int main(){ ListaNumeros lista; Escribir(lista);Imprimir(lista); system("PAUSE");return 0;}
El problema esque el array sale por pantalla todos los numeros en una sola columna de la siguiete forma:
5
5
En vez de
55 <- (que es la forma la cual yo quiero que salgan)
Ahora me da por probar con un array bidimensional y sigo con el mismo problema:
--- Código: C++ --- #include <iostream>#include <cstdlib>using namespace std; const int LIM_MAX = 3;// limite maximo (superpoblacion)const int LIM_MIN = 2;// limite minimo (infrapoblacion) const int FILAS = 10;// numero de filas del juegoconst int COLUMNAS = 10;// numero de columnas del juegoconst int FILAS_M = FILAS+2;// numero de filas del juego + margenconst int COLUMNAS_M = COLUMNAS+2;// numero de columnas del juego + margen // Tipo Array para la creacion de un MundoVaciotypedef bool Mundo [FILAS_M] [COLUMNAS_M]; const char PUNTO = '.'; // Procedimiento para generar un MundoVaciovoid mundovacio(Mundo& m){ int i; int j; /* Rellena el array con puntos*/ for (i=0; i<FILAS_M; i++){ for (j=0; j<COLUMNAS_M; j++){ m[i][j]=PUNTO; } } // Imprime el array con un mundo vacio for (i=0; i<FILAS_M; i++){ for (j=0; j<COLUMNAS_M; j++){ cout << m[i][j] << endl; } }} int main(){ Mundo m; mundovacio(m); system("PAUSE");return 0;}
Y cuando lo ejecuto, vuelven a salir tdos los datos en una sola columna en vez de una matriz como yo quiero que salga:
.................
.................
.................
.................
Que tengo que hacer para dar forma a los array y que me salgan en filas y columnas?
Gracias
phobos:
Hola.
En las lineas donde haces los cout, aparte del dígito también estás enviando un final de linea (endl), lo que provoca un salto de linea.
Prueba a poner "cout<<endl" fuera de los bucles.
Saludos.
valcro:
Cierto, muchas gracias phobos, ese era el problema que tenia.
Saludos
Navegación
Ir a la versión completa