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

[0] Índice de Mensajes

Ir a la versión completa