Hola ^^ soi nuevo jeje me acabo de registrar
y la verdad el foro está bastante bien
...
haber si me podeis ayudar con este ejercicio no se bien donde está fallando... soi bastante novato y llevo muy poco programando :S .
El ejercicio pide leer una matriz por pantalla 3x3, generar un numero aleatorio entre 1 y 3 y asignarlo a p , hacer lo mismo y asignarlo a q y luego intercambiar M[i,j] con M[p,q].
El resultado sera la matriz desordenada.
nota: se pide implementar una funcion que genere l numero aleatorio.
Este es el codigo, tengo el problema de que siempre me genera el numero 0 . :S
program desordenar_matriz;
const
dim = 3;
max = 4;
min = 1;
type
{fila} {columna}
matriz = array [1..dim,1..dim] of integer;
{funcion para desordenar matriz 3x3}
function ale(a:integer):integer;
begin
a:=random(max-min)+1;
randomize;
end;
{Procedimiento para leer matriz 3x3}
procedure leermatriz(dim:integer;var b:matriz);
var
i,j:integer;
begin
for i:=1 to dim do
for j:=1 to dim do
begin
writeln('b[',i,'.',j,']:');
read(b[i,j]);
end;
end;
{Procedimiento para mostrar matriz}
procedure imprimirmatriz(dim:integer;var d:matriz);
var
i,j:integer;
begin
for i:=1 to dim do
for j:=1 to dim do
begin
writeln(i,'.',j,':',d[i,j]);
end;
end;
{Comienza el programa}
var
c,m:matriz;
a,p,q:integer;
i,j:integer;
begin
writeln('Introduzca los numeros de la matriz 3x3');
leermatriz(dim,c); {Llamo al procedimiento para leer matriz}
{Comenzamos a desordenar la matriz}
for i:=1 to dim do
for j:=1 to dim do
begin
p:=ale(a);
p:=i;
q:=ale(a);
q:=j;
c[i,j]:=m[p,q];
end;
imprimirmatriz(dim,m); {Llamamos al procedimiento para imprimir matriz}
end.
-------------------
Tengo otra duda sobre generar numeros aleatorios en un ejercicio tengo que generar 4 numeros aleatorios pero cuando lo hago me saca 4 numeros iguales... porque?¿ tampoco se muy bien como funciona lo de randomize si me podeis aclarar eso mejor jeje.