Не работают процедуры: неправильное количество параметров - 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.

Объяснение кода листинга программы

  1. Ввод данных о количестве строк и столбцов
  2. Заполнение массива случайными числами
  3. Вывод содержимого массива
  4. Поиск четных элементов и подсчет их количества
  5. Замена четных элементов на 0
  6. Вывод обновленного массива и количества четных элементов
  7. Поиск кратных трём элементов и подсчет их количества
  8. Замена кратных трём элементов на 1
  9. Вывод обновленного массива и количества кратных трём элементов

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы