Const n=10; var a:array[1..n+1] of integer; k,i:integer; b:boolean; begin Randomize; for i:=1 to n do begin a[i]:=random(21)-10; write(a[i]:4); end; writeln; write('Введите число: '); readln(k); b:=false; for i:=1 to n do if a[i]=k then b:=true; if not b then begin for i:=n+1 downto n div 2 + 1 do a[i]:=a[i-1]; a[n div 2]:=k; for i:=1 to n+1 do write(a[i]:4); writeln; end else writeln('Массив не изменился'); end.
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 begin var s:=ReadlnString('Введите двухзначное 16-ричное число'); var mH:array['A'..'F'] of integer:=(10,11,12,13,14,15); if s.Length=1 then s:='0'+s; var c:=s.ToCharArray; var n:=0; for var i:=0 to 1 do case c[i] of '0'..'9':n:=16*n+StrToInt(c[i]); 'A'..'F':n:=16*n+mH[c[i]]; else begin Writeln('Недопустимый символ: ',c[i]); Exit end end; Writeln('Десятичный эквивалент: ',n) end.
Тестовое решение: Введите двухзначное 16-ричное число 3A Десятичный эквивалент: 58
var a:array[1..n+1] of integer;
k,i:integer; b:boolean;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:4);
end;
writeln;
write('Введите число: '); readln(k);
b:=false;
for i:=1 to n do
if a[i]=k then b:=true;
if not b then
begin
for i:=n+1 downto n div 2 + 1 do a[i]:=a[i-1];
a[n div 2]:=k;
for i:=1 to n+1 do write(a[i]:4);
writeln;
end
else writeln('Массив не изменился');
end.
Пример:
6 10 -5 -3 -9 -8 -3 3 -9 7
Введите число: 4
6 10 -5 -3 4 -9 -8 -3 3 -9 7
begin
var s:=ReadlnString('Введите двухзначное 16-ричное число');
var mH:array['A'..'F'] of integer:=(10,11,12,13,14,15);
if s.Length=1 then s:='0'+s;
var c:=s.ToCharArray;
var n:=0;
for var i:=0 to 1 do
case c[i] of
'0'..'9':n:=16*n+StrToInt(c[i]);
'A'..'F':n:=16*n+mH[c[i]];
else begin
Writeln('Недопустимый символ: ',c[i]);
Exit
end
end;
Writeln('Десятичный эквивалент: ',n)
end.
Тестовое решение:
Введите двухзначное 16-ричное число 3A
Десятичный эквивалент: 58