[ Foro de Pascal ]

No se como hacer este programa, es para la universidad

01-Dec-2020 13:47
Javier Rodrguez
1 Respuestas

Hola, necesito hacer un programa que haga las siguientes cosas:
1. Pida al usuario que inserte un numero de filas y un numero de columnas y con estos datos se imprima una matriz.
2. Con la matriz que acabamos de crear, intercambiar filas por columnas.
3. Con la matriz inicial, intercambiar las filas entre si, por ejemplo cambio la fila 1 por la fila 2.
4. Con la matriz inicial, intercambiar las columnas entre si, por ejemplo cambio la columna 1 por la columna 2.
Alguien me podría ayudar a seguir?
Por ahora llevo esto:
program OperatorMatrix;
const
 max=10;
var
  Nums: array[1..max, 1..max] of integer;
  x,y: integer;
  n,m:integer;


begin
 writeln('Cuantas filas deseas que tenga la matriz');
 readln(n);
 writeln('Cuantas columnas deseas que tenga la matriz');
 readln(m);
 Randomize();

repeat
 for x:=1 to n do
   begin
     Write((Nums[x,y]), ' | ');
     writeln();
     for y:=1 to m do
           begin
              Nums[x,y] := Random(100);
              Write((Nums[x,y]), ' | ');
           end;
   end;
 until (x=n) or (y=m);


11-Dec-2020 03:19
Luis Torres (+17)

Hola, el blucle Repeat-Until está de más, le hice unas correcciones a tu código y obtuve el que te dejo más abajo, el cual corre bien en el IDE Turbo Pascal. Saludos.


program OperatorMatrix;
const
 max=10;
var
  Nums: array[1..max, 1..max] of integer;
  x,y: integer;
  n,m:integer;

BEGIN
 writeln('Cuantas filas deseas que tenga la matriz');
 readln(n);
 writeln('Cuantas columnas deseas que tenga la matriz');
 readln(m);
 Randomize;

 for x:=1 to n do
   begin
     for y:=1 to m do
           begin
              Nums[x,y] := Random(100);
              Write((Nums[x,y]), ' | ');
           end;
     writeln;
   end;
 Readln;
END.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)