Muestra las veces que aparece un valor en una matriz

pascal:
{-Victor De la Rocha}
{-Algoritmia@groups.msn.com}
{-www.myalgorithm.com}
{PROGRAMA 6: Muesta las veces que se repite un valor}
uses
 crt;
const
 max=100;
type
 matriz=array[1..max,1..max] of integer;
 vector=array[1..max] of integer;
var
 valor,veces:integer;
 filas,cols,cont1,cont2,cont3:integer;
 limite,t1,t2:integer;
 arreglo:matriz;
 temp:vector;
begin
 randomize;
 CLrScr;
 Write('Filas: ');Readln(filas);
 Write('Columnas: ');Readln(cols);
 for cont1:=1 to filas do
  begin
   for cont2:=1 to cols do
    begin
     arreglo[cont1,cont2]:=random(100);
     writeln('Matriz[',cont1,'][',cont2,'] = ',arreglo[cont1,cont2]);
    end;
  end;
  {introdusco los valores en un vector, para ordenarlos}
 writeln;
 limite:=filas*cols;
 cont3:=0;
 for cont1:=1 to filas do
  begin
   for cont2:=1 to cols do
    begin
     cont3:=cont3+1;
     temp[cont3]:=arreglo[cont1,cont2];
    end;
  end;
 {ordeno el vector}
 for cont1:=(filas*cols) downto 1 do
  begin
   for cont2:=1 to cont1 do
    begin
     if temp[cont2]>temp[cont1] then
      begin
       t1:=temp[cont1];
       t2:=temp[cont2];
       temp[cont1]:=t2;
       temp[cont2]:=t1;
      end;
    end;
  end;
  {Regreso los valores a la matriz}
  cont3:=0;
  for cont1:=1 to filas do
   begin
    for cont2:=1 to cols do
     begin
      cont3:=cont3+1;
      arreglo[cont1,cont2]:=temp[cont3];
     end;
   end;
  {Pido los valor a buscar en la matriz}
  veces:=0;
  write('Valor a verificar: ');Readln(valor);
  for cont1:=1 to filas do
   begin
    for cont2:=1 to cols do
     begin
      if arreglo[cont1,cont2]=valor then
       begin
        veces:=veces+1;
       end;{if}
     end;{cols}
   end;{filas}
  write('Veces: ',veces);
 Readkey;
end.{programa}

Filas: 6 Columnas: 5 Matriz[1][1] = 65 Matriz[1][2] = 90 Matriz[1][3] = 18 Matriz[1][4] = 45 Matriz[1][5] = 18 Matriz[2][1] = 57 Matriz[2][2] = 34 Matriz[2][3] = 6 Matriz[2][4] = 78 Matriz[2][5] = 84 Matriz[3][1] = 86 Matriz[3][2] = 63 Matriz[3][3] = 91 Matriz[3][4] = 80 Matriz[3][5] = 96 Matriz[4][1] = 0 Matriz[4][2] = 52 Matriz[4][3] = 4 Matriz[4][4] = 34 Matriz[4][5] = 53 Matriz[5][1] = 11 Matriz[5][2] = 68 Matriz[5][3] = 24 Matriz[5][4] = 3 Matriz[5][5] = 64 Matriz[6][1] = 28 Matriz[6][2] = 38 Matriz[6][3] = 89 Matriz[6][4] = 56 Matriz[6][5] = 95 valor: 95 El se repite: 1
¿Ya le viste algún error? Dejanos tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress elimina los tags HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios.

Otro punto antes de comentar, Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

De esta manera el código sale coloreado.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el último párrafo.

Para poner los símbolos de las librerías sin que desaparezcan, debes escribir los símbolos de mayor > y menor qué < con su entidad HTML correspondiente, así como el símbolo de &

Mis Algoritmos se reserva el derecho de alterar, publicar o no los comentarios así como cambiar estas reglas de uso.

Si estas de acuerdo, adelante puedes comentar :)

P.D. No le hago tareas a nadie, mejor hagan la mía :P