Одномерный массив А(12) заполнен случайным образом в интервале (-10, 25). Получить массив В таким образом, чтобы его элементами были положительные элементы массива А. Вывести на экран оба массива.
Const N = 39; Var X:array[1..N] of integer; i,j,k:integer;
Begin Randomize; ClrScr; k:=0; WriteLn('Исходный массив: '); For i:= 1 to N do Begin X[i]:=random(53)-15; if X[i]<30 then Begin TextColor(12); k:=k+1; End else TextColor(7); Write(X[i],' '); End; WriteLn; WriteLn; TextColor(7); WriteLn('Числа, меня тридцати: ',k); WriteLn; WriteLn('Упорядоченный массив: '); For i:= 1 to N do For j:= 1 to N-1 do if X[j]>X[j+1] then Begin k:=X[j+1]; X[j+1]:=X[j]; X[j]:=k; End; k:=0; For i:= 1 to N do Begin Write(X[i],' '); j:=X[i]; While j div 10 <> 0 do j:=j div 10; if (j = 2)or(j = -2) then k:=k+1; End; WriteLn; WriteLn; WriteLn('Числа, начинающиеся с двойки: ',k); ReadLn; End.
// 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.
Const
N = 39;
Var
X:array[1..N] of integer;
i,j,k:integer;
Begin
Randomize;
ClrScr;
k:=0;
WriteLn('Исходный массив: ');
For i:= 1 to N do
Begin
X[i]:=random(53)-15;
if X[i]<30 then
Begin
TextColor(12);
k:=k+1;
End
else TextColor(7);
Write(X[i],' ');
End;
WriteLn;
WriteLn;
TextColor(7);
WriteLn('Числа, меня тридцати: ',k);
WriteLn;
WriteLn('Упорядоченный массив: ');
For i:= 1 to N do
For j:= 1 to N-1 do
if X[j]>X[j+1] then
Begin
k:=X[j+1];
X[j+1]:=X[j];
X[j]:=k;
End;
k:=0;
For i:= 1 to N do
Begin
Write(X[i],' ');
j:=X[i];
While j div 10 <> 0 do
j:=j div 10;
if (j = 2)or(j = -2) then
k:=k+1;
End;
WriteLn;
WriteLn;
WriteLn('Числа, начинающиеся с двойки: ',k);
ReadLn;
End.