Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program untitled;
- uses crt;
- CONST
- MIN_FIL = 1;
- MAX_FIL = 3;
- MIN_COL = 1;
- MAX_COL = 5;
- TYPE
- tMatriz = array[MIN_FIL..MAX_FIL,MIN_COL..MAX_COL] of integer;
- procedure CargarMatriz(var Matriz: tMatriz);
- var
- i, j, Num: integer;
- begin
- for i:= MIN_FIL to MAX_FIL do
- for j:= MIN_COL to MAX_COL do Begin
- Write('Ingrese un numero en ',i,j,': ');
- Readln(Num);
- Matriz[i,j]:= Num;
- ClrScr;
- end;
- end;
- procedure ImprimirMatriz(Matriz: tMatriz);
- var
- i,j: integer;
- begin
- for i:= MIN_FIL to MAX_FIL do Begin
- for j:= MIN_COL to MAX_COL do
- Write('|',Matriz[i,j],'|');
- Writeln;
- end;
- end;
- Function Posicion(Matriz: tMatriz; Num,Fila: integer): integer;
- Var
- j:integer;
- Begin
- j:=1;
- While (j <= MAX_COL) And (Matriz[Fila,j] <> Num) do
- j:= j+1;
- If (j > MAX_COL) then
- Posicion:= -1
- else
- Posicion:= j;
- End;
- Function Cantidad(Matriz: tMatriz; Num,Fila: integer) :integer;
- Var
- j,Cant:integer;
- Begin
- j:= Posicion(Matriz,Num,Fila);
- If (j <> -1) then Begin
- Cant:=1;
- While (j<=MAX_COL-1) And (Matriz[Fila,j] = Matriz[Fila,j+1]) do begin
- j:=j+1;
- Cant:=Cant+1;
- end;
- //Writeln(Cant);
- Cantidad:=Cant;
- end
- else
- Cantidad:= -1;
- End;
- function FilaCambiar(Matriz: tMatriz; Num: integer): integer;
- var
- i, FilaMayor,CantidadActual,CantidadMayor: integer;
- begin
- CantidadMayor:= 0;
- FilaMayor:= 0;
- for i:= MIN_FIL to MAX_FIL do Begin
- CantidadActual:= Cantidad(Matriz,Num,i);
- If CantidadActual > CantidadMayor then Begin
- CantidadMayor:= CantidadActual;
- FilaMayor:= i;
- end;
- end;
- FilaCambiar:= FilaMayor;
- end;
- var
- MatNum: tMatriz;
- NumLoko: integer;
- BEGIN
- CargarMatriz(MatNum);
- Writeln('* Imprimo matriz *');
- ImprimirMatriz(MatNum);
- Write('Ingrese num a buscar: ');
- Readln(NumLoko);
- Write('Fila a cambiar: ');
- Writeln(FilaCambiar(MatNum,NumLoko));
- readln;
- END.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement