duda: Array multidimensionales

Iniciado por bash, 26 Abril 2015, 17:06 PM

0 Miembros y 1 Visitante están viendo este tema.

bash

buenas a todos aqui !!

espero y deseo que todos esten bien !! ejej
bien tengo una duda nueva estoy tratando de  leer unos caracteres desde un fichero y los estoy tratando de capturar en un arreglo de dos dimensiones en otros lenguajes como java y c# me ha funcionado bien pero en c++ que es mi caso o no me muestra nada y me imprime como ordeno o simplemente me muestra numero que supongo que son las direcciones de memoria de las variables dentro del arreglo posteo el codigo para ver si alguien me dice en que me equivoco , gracias e ante mano..


Código (cpp) [Seleccionar]

void cargarArray()
{
    fstream entrada("map.txt", ios::in);
     if(!entrada.is_open())
        cout <<"dddd";

    char temp =NULL;
    char arreglo2d[20][20];
    for(int t(0); t<20;t++){
      for(int i(0); i < 20 ; i++)
       {
          entrada << temp;
          arreglo2d[t][i] = temp;
       }
    }


    for(int t(0); t<20;t++){
       cout <<'\n';
      for(int i(0); i < 20 ; i++)
       {

          cout << arreglo2d[t][i] <<' ';
       }
    }


}


esto compila pero no me presenta el resultado esperado !!
gracias por responder mis dudas

engel lex

no tengo para probar... pero estoy seguro que esto no está bien

[code=cpp]for(int t(0); t<20;t++){
for(int i(0); i < 20 ; i++)


está haciendo un cast tipo int a una funcion llamada t a quien le pasas el valor 0...

se recomienda no declarar variables dentro de la declaración del ciclo...

si quieres mantener el estilo sería

Código (cpp) [Seleccionar]
for(int t = 0; t<20;t++){
for(int i = 0; i < 20 ; i++)


y en el segundo ciclo no se declara... pero lo recomendable es

Código (cpp) [Seleccionar]

int t, i;
for(t = 0; t<20;t++){
for(i = 0; i < 20 ; i++)


la tercera forma sería
Código (cpp) [Seleccionar]

int t=0, i=0;
for(; t<20;t++){
for(; i < 20 ; i++)

[/code]
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

bash

donde esta t es una variable y la estoy inicializando.

lo cambie pero como quiera me da lo mismo .
gracias por responder mis dudas

engel lex

entonces explica que debería darte y que da
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

bash

0000000...000
11111....1111
...
00000000000
es simplemente un archivo de texto plano
que me deberia de carga esto.
gracias por responder mis dudas

ivancea96

No es:
Código (cpp) [Seleccionar]
entrada << temp;

Eso es para meter datos al fichero.

Es:
Código (cpp) [Seleccionar]
entrada >> temp;

bash

si lo corregido aun continua , seguire investigando y luego posteo.
gracias por responder mis dudas

ivancea96