В матрице A надо найти сумму четных элементов с помощью функции - Pascal ABC

Формулировка задачи:

В матрице(одномерный массив) A надо найти сумму четных элементов с помощью функции, а в матрице В(двумерный массив) количество четных элементов с помощью процедуры. Помогите пожалуйста, не понимаю как сделать. Вот что сделал:
Program demo;
type
  vas = array[1..100] of integer; 
  mas = array[1..100, 1..100] of integer;  
  func = function(const c:mas; g,i,n: integer):integer;
var
  x, g, h,f: integer;
  a: vas;
  b: mas;
  
procedure zapolnenie1(var c:vas; g,x: integer);
var
  k: integer;
begin
  for k := 1 to x do
    c[k]:=random(10); 
end;
procedure vivod1(const c:vas; g,x: integer);
var
  k: integer;
begin
  for k := 1 to x do
        write(c[k]:2); 
      writeln; 
    end;
 
procedure zapolnenie(var c:mas; g,x: integer);
var
  k,m: integer;
begin
  for k := 1 to x do
    for m:=1 to g do
    c[k,m]:=random(10); 
end;
procedure vivod(const c:mas; g,x: integer);
var
  k,m: integer;
begin
  for k := 1 to x do
    begin
      for m:=1 to g do 
        write(c[k,m]:2); 
      writeln; 
    end
end;
 
function Step(const c:vas; g,x: integer):integer;
 var 
 k,s: integer;
 begin
  For k:=1 to x do
     if c[k] mod 2 = 0 then
     s:=s+c[k];
     Step:=s;
 end;
 
 
procedure kol;
 
begin
 
                  
end;
 
begin
  writeln('Введите длину массива , кол-во строчек массивов A,B');  
  readln(x,g);
  zapolnenie1(a,x,g); // заполнение массива A
  writeln('Исходный массив A');   
  vivod1(a,x,g);      // вывод массива A
  zapolnenie(b,x,g); // заполнение массива B
  writeln('Исходный массив B');   
  vivod(b,x,g);      // вывод массива B
 
 
 
 
 
 
  writeln('Сумма четных элементов в матрице A:' );     
  writeln('Количество четных элементов в матрице B:');   
 
end.

Код к задаче: «В матрице A надо найти сумму четных элементов с помощью функции - Pascal ABC»

textual
Program demo;
type
  vas = array[1..100] of integer;
  mas = array[1..20, 1..20] of integer;
procedure zapolnenie1(var c:vas; x: integer);
var k: integer;
begin
for k:=1 to x do
c[k]:=random(10);
end;
procedure zapolnenie(var c:mas; g,x: integer);
var  k,m: integer;
begin
for k:=1 to g do
for m:=1 to x do
c[k,m]:=random(10);
end;
procedure vivod1(c:vas; x: integer);
var  k: integer;
begin
for k:=1 to x do
write(c[k]:2);
writeln;
end;
procedure vivod(c:mas; g,x: integer);
var k,m: integer;
begin
for k:=1 to g do
 begin
  for m:=1 to x do
  write(c[k,m]:2);
  writeln;
 end
end;
function Summa(c:vas; x: integer):integer;
var k,s: integer;
begin
s:=0;
for k:=1 to x do
if c[k] mod 2 = 0 then
s:=s+c[k];
Summa:=s;
end;
procedure kol(c:mas; g,x:integer; var q:integer);
var k,m:integer;
begin
q:=0;
for k:=1 to g do
for m:=1 to x do
if c[k,m] mod 2=0 then q:=q+1;
end;
var a: vas;
    b: mas;
    r,g,x,q:integer;
begin
write('Введите размер массива А r=');
readln(r);
zapolnenie1(a,r); // заполнение массива A
writeln('Исходный массив A');
vivod1(a,r);      // вывод массива A
writeln('Сумма четных элементов в массиве A=',summa(a,r));
writeln('Введите размеры массива B');
readln(g,x);
zapolnenie(b,g,x); // заполнение массива B
writeln('Исходный массив B');
vivod(b,g,g);      // вывод массива B
Kol(b,g,x,q);
writeln('Количество четных элементов в массиве B=',q);
end.

5   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ