Inicio > Pascal > sergioyoplay > ayuda con pascal

ayuda con pascal

Experto:
Usuario:
Fecha: 03/08/2009
Valoración: (5,00 sobre 5) Categoría: Pascal
02/08/2009
elprogramdor, usuario preguntando en Pascal
Usuario
hola....mira esta vez necesito ayuda con una carga de archivo q tengo
 
Type
 Sudocuadro = 0..10;
 TCuadricula = Array [1..9,1..9] of Sudocuadro;
 Unicuadricula = Array [1..9] of Sudocuadro;
.
.
.
Procedure CargaFichero(var cuad : TCuadricula);
 Var
  Fich : text;
        num:Sudocuadro;
  Nombre : String;
  x,y : Sudocuadro;
 Begin
  
  // Evitar warnings
  Nombre := '';
  Repeat
   Write('Introduzca el nombre del fichero: ');
   readln(Nombre);
  Until ( nombre <> '' );
  
  {$I-}
  Assign(Fich, Nombre);
  Reset(Fich);
  {$I+}
  
  If ( IOResult <> 0 ) Then
   writeln('Error abriendo el fichero.')
  Else
  Begin
                       x:=1;
                    y:=1;
                   while not eoln(fich) do
                    begin
                      readln(Fich,num);
                      cuad[x,y] :=num;
                      y:=y+1;
                      end;
   
  End;
  
  writeln('Proceso de lectura a terminado.');
  readln;  
  Close(Fich);
  
 End; 
 
lo de los arreglos es para q sepas....el problema esta q la carga bien pero lo imprime es forma de columnas y no filas
 
osea.....este es mi archivo
 
0 0 9 0 0 7 0 6 0
0 0 6 2 8 4 0 0 0
5 0 2 0 6 0 3 7 8
0 0 0 4 0 0 0 0 5
0 0 5 3 2 8 0 0 0
0 0 8 7 0 0 6 0 0
0 8 7 0 4 2 0 3 0
0 5 0 0 0 0 2 0 6
3 0 0 0 5 0 7 0 0
 
en vez de imprimirmelo asi como aparece....me lo imprime al revez....osea las filas me las esta transformando en columna
 
este trabajo es de un sudoku....para q mas o menos tengas una idea de lo q te estoy preguntando
 
entonces como puedo hacer para q me los imprima tal y como aparece en el archivo???
 
gracias de antemano y agradeceria tu respuesta
02/08/2009
elprogramdor, experto respondiendo en Pascal
Experto
Creo que te has saturado ;)
Si tienes las filas cambiadas por las columnas, pues donde pone "x", pon "y" ;)
Tienes que tomar 1 criterio fijo. Puedes decir que la primera "coordenada" del arreglo de la tabla sea la fila o sea la columna.
Si te lo pone "cambiado", o lo has puesto al revés al leer o lo has puesto al revés al escribir ;)
Pero vamos: la solución es tan simple como a la hora de leer o de mostrar en pantalla, cambiar la X por la Y y yatá =D
03/08/2009
elprogramdor, usuario preguntando en Pascal
Usuario
XD.....yo tambien habia intentado eso pero no me funciono....pero igual ya resolvi el problema
solo utilice los FOR y ya....pero utilizando lo q me dijistes
proximamente te vendre a preguntar otras cosas
saludos
03/08/2009
elprogramdor, usuario preguntando en Pascal
Usuario
gracias
Más opciones
Enlaces patrocinados