Цитата:
Сообщение от Madara
PascalABC.NET не принимает такой тип в процедуре...
|
Чтоб этим вонючкам - авторам всяких там АВС - провалиться! Чтоб их приподняло, бросило да не поймало!! Чтоб их мамы в юности аборты сделали!!! Не, ну это черт-те-что: самые нужные, ходовые, удобные возможности языка отброшены, а зато напихано какой-то дряни!!!! Бедные дети, коих заставляют это всё учить...
Ладно, попробуйте так:
Код:
Program zam;
Const n=3;
Type mass=array[1..n] of real;
matr=array[1..n,1..n] of real;
Function sredarifm(Q:matr):real;
var
summ:real;
i,j:integer;
Begin
Summ:=0;
Begin
for i:=1 to n do
for j:=1 to n do
summ:=summ+Q[i,j];
end;
sredarifm:=summ/(n*n);
end; //функция расчёта среднего арифметического матрицы
Procedure zamena(w:real; var p:mass );
var i,k:integer;
Begin
k:=0;
for i:=1 to n do
if abs(p[i])<w then
Begin
k:=k+1;
p[i]:=0;
end;
writeln;
for i:=1 to n do
write(p[i]:8:2);
Write(' Число замен в данной строке : ',k);
end; // написал процедуру, считаем количество элементов массива р модули которых больше меньше или равны r,
Var
i,j:integer;
w:real;
A:matr;
c:mass;
Begin
Write('Введите контрольную величину W : ');
Readln(w);
Writeln('Заполните матрицу А: ');
for i:=1 to n do
for j:=1 to n do
begin
write('A[',i,',',j,']= ');
readln(A[i,j]);
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do write(A[i,j]:8:2);
writeln;
end;
for i:=1 to n do
begin
for j:=1 to n do c[j]:=A[i,j];
zamena(w,c);
for j:=1 to n do A[i,j]:=c[j];
end;
writeln;
writeln;
for i:=1 to n do
begin
for j:=1 to n do write(A[i,j]:8:2);
writeln;
end;
writeln;
Writeln('Среднее арифметическое полученной матрицы В равно : ', sredarifm(A):0:2);
Readln
end.