Hola a todos, he tenido un problema que me esta volviendo loco, tengo que leer un archivo de texto, en la primer linea esta el numero de "gatos" (#) que deben estar en el archivo, necesito recorrer el archivo y guardar la informacion, yo hice un arreglo: gato[columna][linea][Ngato]
mi problema es que cuando quiero ver la información:
gato[0][1][1]
gato[1][1][1]
gato[2][1][1]
(o sea, de la primer linea del gato)
me muestra una informacion incorrecta.
Les dejo el codigo, estoy trabajando con devC++
#include "iostream"
#include "fstream"
using namespace std;
int transformar(int caso){
return 2;}
main(){
char cadena[5];
int cantidad;//guarda la cantidad de datos
ifstream fileGato("Gato.txt");
fileGato.getline(cadena,5);
//Armamos un numero decimal de gatos
cantidad=strlen(cadena);
switch(cantidad){
case 1: cantidad=transformar(1); break;
case 2: cantidad=transformar(2); break;
case 3: cantidad=transformar(3); break;
default: cout<<"";//Error: Linea 0 (!n)
}
int gato[2][2][cantidad];//columna,linea, Numero de gato
int columna, linea=0, $gato=0;
bool finGato=true;
while(!fileGato.eof()){
fileGato.getline(cadena,5);
cout<<endl<<"("<<cadena<<") ";
if(strlen(cadena)==3){
if(finGato){
$gato++;
finGato=false;
}
for(columna=0; columna<=2; columna++){
gato[columna][linea][$gato]=cadena[columna];
cout<<(char)gato[columna][linea][$gato]<<columna;
}
cout<<" "<<linea<<$gato;
linea++;
}//if
else{
linea=0;
finGato=true;}
}//while
cout<<endl<<endl;
cout<<(char)gato[0][1][1];
cout<<(char)gato[1][1][1];
cout<<(char)gato[2][1][1];
cout<<endl<<endl;
for($gato=1; $gato<=cantidad; $gato++){
for(linea=0; linea<=2; linea++){
cout<<endl;
for(columna=0; columna<=2; columna++){
cout<<(char)gato[columna][linea][$gato];
}
}
}
cout<<endl<<endl;
fileGato.close();
system("pause");
return 0;
}
este es el archivo Gato.txt
2
oox
#x#
xo#
xxo
oox
xoo