Найдите ошибки, пожалуйста, не понимаю, что надо исправитьсама задача: Составить...

0 голосов
37 просмотров

Найдите ошибки, пожалуйста, не понимаю, что надо исправить
сама задача: Составить программу, которая вычисляет сумму тех элементов двумерного массива, номера строк и столбцов которых принадлежат соответственно непустым множествам S1 и S2.

var a:array[1..20] of integer;
n,m,i,j,k:byte;
sm,b:integer;
s1,s2:set of byte;
begin
randomize;
repeat
write('количество строк=');
readln(m);
until m in [1..10];
repeat
write('количество столбцов=');
readln(n);
until n in [1..10];
writeln('исходная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
writeln;
end;
writeln;
writeln('множество S1:');
s1:=[];
for i:=1 to m do
begin
b:=random(m)+1;
s1:=s1+[b];
end;
for i:=1 to m do
if i in s1 then write(i,' ');
writeln;
writeln('множество S2:');
s2:=[];
for i:=1 to n do
begin
b:=random(n)+1;
s2:=s2+[b];
end;
for i:=1 to n do
if i in s2 then write(i,' ');
writeln;
writeln;
sm:=0;
for i:=1 to m do
for j:=1 to n do
if(i in s1)and(j in s2) then sm:=sm+a[1..20];
write('сумма=',sm);
readln
end.


Информатика (107 баллов) | 37 просмотров
Дан 1 ответ
0 голосов

Четвёртая строка снизу:

if(i in s1)and(j in s2) then sm:=sm+a[1..20];

Вы к integer пытаетесь добавить array.

(7.2k баллов)
0

а как исправить это?