1. Шестнадцатиричное представление переводим в десятичное. Записываем 4A98 в расширенной форме по степеням основания (т.е. 16 в нашем случае):
2. Шестнадцатиричное представление переводим в восьмеричное. Поскольку , перевод удобно сделать через промежуточную двоичную систему. Каждую шестнадцатиричную цифру заменяем четырьмя двоичными цифрами (так называемой тетрАдой). 0100 1010 1001 1000 . 1011 1100 0010 (2) Разбиваем двоичное число на триАды (по три разряда) влево и вправо от десятичной точки и каждую триаду заменяем восьмеричной цифрой (они по написанию совпадают с десятичными). Если разрядов для триады не хватает, дополняем их нулями слева для целой части и справа для дробной. 100101010011000.10111100001 (2)= 100 101 010 011 000.101 111 000 010= 45230.5702(8)
var b:array [1..100] of integer; a:array [1..100,1..100] of integer; i, j,n,m,k1,k2: integer; begin writeln ('Введите Кол-во строк'); readln (n); writeln ('Введите Кол-во столбцов'); readln (m); writeln ('Введите к1'); readln (k1); writeln ('Введите к2'); readln (k2); for i :=1 to n do for j :=1 to m do readln ( a [ i , j ]); writeln ('Исходный массив'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:4); writeln; end; writeln; for j :=1 to m do b[j]:=a[k1][j]; for j :=1 to m do begin a[k1][j]:=a[k2][j]; a[k2][j]:=b[j]; end; writeln ('Массив после операций'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:4); writeln; end; end.
Записываем 4A98 в расширенной форме по степеням основания (т.е. 16 в нашем случае):
2. Шестнадцатиричное представление переводим в восьмеричное.
Поскольку , перевод удобно сделать через промежуточную двоичную систему.
Каждую шестнадцатиричную цифру заменяем четырьмя двоичными цифрами (так называемой тетрАдой).
0100 1010 1001 1000 . 1011 1100 0010 (2)
Разбиваем двоичное число на триАды (по три разряда) влево и вправо от десятичной точки и каждую триаду заменяем восьмеричной цифрой (они по написанию совпадают с десятичными). Если разрядов для триады не хватает, дополняем их нулями слева для целой части и справа для дробной.
100101010011000.10111100001 (2)= 100 101 010 011 000.101 111 000 010=
45230.5702(8)
ответ: 4A98.BC2(16)=19096.73486328125(10)=45230.5702(8)
b:array [1..100] of integer;
a:array [1..100,1..100] of integer;
i, j,n,m,k1,k2: integer;
begin
writeln ('Введите Кол-во строк');
readln (n);
writeln ('Введите Кол-во столбцов');
readln (m);
writeln ('Введите к1');
readln (k1);
writeln ('Введите к2');
readln (k2);
for i :=1 to n do
for j :=1 to m do
readln ( a [ i , j ]);
writeln ('Исходный массив');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
writeln;
for j :=1 to m do
b[j]:=a[k1][j];
for j :=1 to m do begin
a[k1][j]:=a[k2][j];
a[k2][j]:=b[j];
end;
writeln ('Массив после операций');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end.