Не работают процедуры: неправильное количество параметров - Free Pascal
Формулировка задачи:
Осваиваю работу с процедурами, неправильное количество параметров для процедур, как устранить? Заранее спасибо)
Program ars;
uses crt;
type
MyArray = array [1..50,1..50] of integer;
Procedure input(var a : MyArray;var i,j,m,n: integer);
begin
writeln('vvedide kol-vo strok:');
readln(n);
writeln('vvedite kol-vo stolbcov:');
readln(m);
writeln('ishodniy massiv');
randomize;
for i := 1 to n do begin
for j:= 1 to m do
a[i,j] :=random(20);
write(a[i,j]:4,' ');
end; end;
Procedure zamena_chetnyh(var a : MyArray; var i,j,m,n,k: integer);
begin
for i := 1 to n do
for j:= 1 to m do
if (a[i,j] mod 2=0 ) then inc(k);
if k=0 then writeln('chetnyh net')
else
for i := 1 to n do begin
for j:= 1 to m do
if (a[i,j] mod 2=0 ) then a[i,j]:=0;
write(a[i,j]:4,' ');writeln('chetnyh elementov:',k);
end;end;
Procedure zamena_kratnyh3(var a : MyArray;var i,j,m,n,t: integer);
begin
for i := 1 to n do
for j:= 1 to m do
if (a[i,j] mod 2=0 ) then inc(t);
if t=0 then writeln('kratnyh 3 net')
else
for i := 1 to n do begin
for j:= 1 to m do
if (a[i,j] mod 3=0 ) then a[i,j]:=1;
write(a[i,j]:4,' ');writeln('kratnyh 3 elementov:',t);
end;end;
begin
input;
zamena_chetnyh;
zamena_kratnyh3;
readln;
end.Решение задачи: «Не работают процедуры: неправильное количество параметров»
textual
Листинг программы
program ars;
type
MyArray = array [1..50, 1..50] of integer;
procedure input(var a: MyArray);
var
n, m, i, j: integer;
begin
writeln('vvedide kol-vo strok:');
readln(n);
writeln('vvedite kol-vo stolbcov:');
readln(m);
writeln('ishodniy massiv');
randomize;
for i := 1 to n do
begin
for j := 1 to m do
a[i, j] := random(20);
write(a[i, j]:4, ' ');
end; end;
procedure zamena_chetnyh(var a: MyArray);
var
k, m, n, i, j: integer;
begin
for i := 1 to n do
for j := 1 to m do
if (a[i, j] mod 2 = 0 ) then
inc(k);
if k = 0 then
writeln('chetnyh net')
else
for i := 1 to n do
begin
for j := 1 to m do
if (a[i, j] mod 2 = 0 ) then
a[i, j] := 0;
write(a[i, j]:4, ' ');
writeln('chetnyh elementov:', k);
end;
end;
procedure zamena_kratnyh3(var a: MyArray);
var
t, m, n, i, j: integer;
begin
for i := 1 to n do
for j := 1 to m do
if (a[i, j] mod 2 = 0 ) then inc(t);
if t = 0 then writeln('kratnyh 3 net')
else
for i := 1 to n do
begin
for j := 1 to m do
if (a[i, j] mod 3 = 0 ) then a[i, j] := 1;
write(a[i, j]:4, ' ');writeln('kratnyh 3 elementov:', t);
end;
end;
var
x: myarray;
k, t: integer;
begin
input(x);
zamena_chetnyh(x);
zamena_kratnyh3(x);
readln;
end.
Объяснение кода листинга программы
- Ввод данных о количестве строк и столбцов
- Заполнение массива случайными числами
- Вывод содержимого массива
- Поиск четных элементов и подсчет их количества
- Замена четных элементов на 0
- Вывод обновленного массива и количества четных элементов
- Поиск кратных трём элементов и подсчет их количества
- Замена кратных трём элементов на 1
- Вывод обновленного массива и количества кратных трём элементов