program digitex; uses crt; var i,j,k,l,m,n:byte; a:array[1..20,1..20] of byte; s1,s2:array[1..10] of byte; s3: array[0..100] of byte; begin repeat clrscr; writeln('Vvedite poryadok matrici'); write('N= '); readln(n); if n>20 then writeln('Poryadok slishcom bolshoi!'); until n <= 20; writeln('Vvedite mnojestvo nomerov strok'); for i:= 1 to round(n/2) do read(s1); writeln(''); writeln('Vvedite mnojestvo nomerov stolbcov'); for i:= 1 to round(n/2) do read(s2); for i:= 1 to n do begin writeln(''); for j:= 1 to n do begin a[i,j]:= random(10); write(a[i,j]); end; end; m:=0; for i:= 1 to n do for j:= 1 to n do for k:= 1 to round(n/2) do for l:= 1 to round(n/2) do if (i=s1[k]) and (j=s2[l]) then begin inc(m); s3[m]:=a[i,j]; k:=round(n/2); l:=round(n/2); end; writeln(''); writeln('Elementi, nomera kotorih prinadlezhat mnojestvam'); for i:= 1 to m do begin s3[0]:=s3[0]+s3; write(s3,' '); end; writeln(''); writeln('Ih summa'); write(s3[0]); readkey; end. s1 и s2 сам наверное в множества переделаешь