Не работают процедуры: неправильное количество параметров - 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
- Вывод обновленного массива и количества кратных трём элементов
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д