1 задача :Массив Z(20) заполнить целыми случайными числами в диапазоне от -20 до 20. Вычислить CP- среднее арифметическое положи
тельных элементов и CN- среднее арифметическое отрицательных элементов массива Z. Вычислить P как сумму CP+CN, если CP>CN, или как произведение CP*CN, если CP 2 задача: Матрицу А(15, 4) заполнить целыми случайными числами в диапазоне от 1 до 51. Составить матрицу В(?, 4) из таких строк массива А, чтобы для каждого элемента A(I,J) данной строки I выполнялось условие 10<А(1,J) <40 . Матрицу В заполнить плотно. Если таких строк не окажется, необходимо вывести соответствующее сообщение. Вывести А и B Кто решит буду благодарен, нужно очень.
<span>1. uses</span> crt; const n=20; var i,cp1,cn1:integer; p,cp,cn:real; z:array[1..n] of integer; begin randomize; for i:=1 to n do begin z[i]:=random(20,-20); if z[i]>=0 then begin cp:=cp+z[i]; cp1:=cp1+1; end else begin cn:=cp+z[i]; cn1:=cn1+1; end; cp:=cp/cp1; cn:=cn/cn1; end; if cp>cn then p:=cp+cn else p:=cp*cn; for i:=1 to n do write(z[i],' '); writeln(#13#10,cp:5:2,' ',cn:5:2,' ',p:5:2); <span>end. 2. uses crt; const n=15;m=4; var i,j,k,flag,count:integer; a:array[1..n,1..m] of integer; temp:array[1..100] of integer; b:array[1..100,1..m] of integer; begin randomize; k:=1; count:=0; for i:=1 to n do begin flag:=1; for j:=1 to m do begin a[i,j]:=random(51,1); if (a[i,j]<10) or (a[i,j]>40) then flag:=0 end; if flag=1 then begin temp[k]:=i; count:=count+1; k:=k+1; end; end; for i:=1 to count do for j:=1 to m do b[i,j]:=a[temp[i],j]; writeln('Массив A:'); for i:=1 to n do begin for j:=1 to m do write(a[i,j],' '); write(#13#10); end; if count=0 then writeln('Нет подходящих строк.') else begin writeln(#13#10,'Массив B:'); for i:=1 to count do begin for j:=1 to m do write(b[i,j],' '); write(#13#10); end; <span>end; end.</span></span>
Ответ на первую var i,m,b:integer; a:array[1..15] of integer; begin for i:=1 to 15 do a[i]:=random(100)+1; repeat for i:=1 to 14 do if a[i]<a[i+1] then begin b:=a[i]; a[i]:=a[i+1]; a[i+1]:=b; end; inc(m); until m=14; for i:=1 to 15 do if a[i] mod 2 = 0 then write(a[i],' '); end.