{12. Дан массив А(3*4). Найти сумму первых отрицательных элементов в каждом столбце.}
uses crt; const N=3; M=4; var a: array [1..N,1..M] of real; x,y:integer; min,sum:real; begin sum:=0; for x:=1 to N do begin for y:=1 to M do begin a[x,y]:=random(10)-5; write(a[x,y]:3:0); end; writeln; end; writeln; for y:=1 to M do begin min:=0; for x:=N downto 1 do if a[x,y]<0 then min:=a[x,y]; sum:=sum+min; end; writeln; writeln('Сумма первых отрицательных элементов в каждом столбце: ',sum); end.
--- {13. Даны два массива А(3*3) и В(3*3). Вывести на экран тот из них, у которого меньше сумма элементов главной диагонали.}
uses crt; const N=3; var a,b: array [1..N,1..N] of integer; x,y,sum1,sum2: integer; begin sum1:=0; sum2:=0; for x:=1 to N do begin for y:=1 to N do begin a[x,y]:=random(10); if x=y then sum1:=sum1+a[x,y]; write(a[x,y]:3); end; writeln; end; writeln; for x:=1 to N do begin for y:=1 to N do begin b[x,y]:=random(10); if x=y then sum2:=sum2+b[x,y]; write(b[x,y]:3); end; writeln; end; if sum1<>sum2 then begin writeln('Сумма элементов главной диагонали меньше в массиве: '); for x:=1 to N do begin for y:=1 to N do if sum1>sum2 then write(b[x,y]:3) else write(a[x,y]:3); writeln; end; end; if sum1=sum2 then writeln('Сумма элементов главной диагонали одинакова'); end.
--- {17.Дан массив А(3*4). Заменить все отрицательные элементы на противоположные.}
uses crt; const N=3; M=4; var a: array [1..N,1..M] of real; x,y:integer; begin for x:=1 to N do begin for y:=1 to N do begin a[x,y]:=random(10)-5; write(a[x,y]:3:0); if a[x,y]<0 then a[x,y]:=-a[x,y]; end; writeln; end; writeln; for x:=1 to N do begin for y:=1 to N do write(a[x,y]:3:0); writeln; end; end.
Объяснение:
1)11011,01₂=1×2⁴+1×2³+0×2²+1×2¹+1×2⁰+0×2⁻¹+1×2⁻²=6+8+0+2+1+0+0.25 = 27.25₁₀
2)123,45₈=1×8²+2×8¹+3×8⁰+4×8⁻¹+5×8⁻²=64+16+3+0.5+0.078125=83.578125₁₀