// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
function Res(a:integer;op:char;b:integer):integer; begin case op of '+':Result:=a+b; '-':Result:=a-b; '*':Result:=a*b; '/':Result:=a div b end end;
begin var s:=ReadlnString('Вводите:'); var p:=s.Matches('(((\-)?\d+)|[\+\-\*\/])').ToArray; if p.Count<>5 then Writeln('Ошибка!') else begin var op1:=p[1].Value[1]; var op2:=p[3].Value[1]; var a:=p[0].Value.ToInteger; var b:=p[2].Value.ToInteger; var c:=p[4].Value.ToInteger; if (op1 in ['+','-']) and (op2 in ['*','/']) then Writeln('='+Res(Res(b,op2,c),op1,a)) else Writeln('='+Res(Res(a,op1,b),op2,c)) end end.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Кол-во положительных: ',a.ElementsByRow.Where(x->x>1).Count) end.
// Внимание! Если программа не работает, обновите версию!
function Res(a:integer;op:char;b:integer):integer;
begin
case op of
'+':Result:=a+b;
'-':Result:=a-b;
'*':Result:=a*b;
'/':Result:=a div b
end
end;
begin
var s:=ReadlnString('Вводите:');
var p:=s.Matches('(((\-)?\d+)|[\+\-\*\/])').ToArray;
if p.Count<>5 then Writeln('Ошибка!')
else begin
var op1:=p[1].Value[1];
var op2:=p[3].Value[1];
var a:=p[0].Value.ToInteger;
var b:=p[2].Value.ToInteger;
var c:=p[4].Value.ToInteger;
if (op1 in ['+','-']) and (op2 in ['*','/']) then
Writeln('='+Res(Res(b,op2,c),op1,a))
else Writeln('='+Res(Res(a,op1,b),op2,c))
end
end.
Примеры
Вводите: -4--3--2
=1
Вводите: 12*3+45
=81
Вводите: 45+12*3
=81
Вводите: -26/13--5
=3
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Кол-во положительных: ',a.ElementsByRow.Where(x->x>1).Count)
end.
Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 12
*** Исходный массив [5,12] ***
-64 16 -1 59 -63 -37 -54 28 -40 39 17 -84
89 8 38 56 -51 20 49 28 -90 -85 1 81
13 52 -10 15 28 -95 76 -77 -54 -27 33 -9
22 43 -40 14 58 19 -75 26 92 94 -59 87
-95 -8 65 -24 -50 62 26 -79 -85 18 -54 -16
Кол-во положительных: 32