В турбо паскале, к сожалению, нет динамических массивов, по крайней мере, я в описаниях ничего не нашел, поэтому придется заранее задать N и M. Пусть будет N = 10, M = 20. Для чисел меньше миллиона функция Prost работает за вполне приемлемое время. PROGRAM SredProst; var A: array [1..10, 1..20] of integer; var i, k, p: integer, S: real; FUNCTION Prost(n: integer): integer var i: integer BEGIN Prost:=1; {esli n delitsia na kakoe-to chislo ot 2 do kornya iz n, to n sostavnoe} for i:=2 to sqrt(n) do if (n mod i = 0) then Prost:=0; END; BEGIN uses crt; clrscr; {Vvodim nachalniy massiv} for i:=1 to 10 do begin for k:=1 to 20 do read (A[i,k]); end; S:=0; p:=0; {Ischem prostye chisla, summiruem ih v S i schitaem kol-vo v p} for i:=1 to 10 do begin for k:=1 to 20 do begin {Prost - eto funkcia poiska, prostoe chislo ili net} if (Prost(A[i,k]) = 1) then begin S:=S+A[i,k]; p:=p+1; end; end; end; {Srednee - eto summa chisel, delennaya na ih kol-vo} S:=S/p; writeln ('Srednee vseh prostyh chisel ', S); END.