Var A:array[1..12] of integer; i,FLAG, INDMAX, INDMIN,k:integer; begin randomize; Writeln('Исходный массив:'); for i:=1 to 12 do begin A[i]:=random(20)-10; writeln('A[',i,']=',A[i]); end; i:=0; FLAG:=1; While FLAG<>0 do begin i:=i+1; if A[i]<0 then begin INDMIN:=i; FLAG:=0; end; end; i:=0; FLAG:=1; While FLAG<>0 do begin i:=i+1; if A[i]>0 then begin INDMAX:=i; FLAG:=0; end; end; K:=A[INDMAX]; //Замена A[INDMAX]:=A[INDMIN]; A[INDMIN]:=K; writeln('Конечный массив: '); for i:=1 to 12 do writeln('A[',i,']=',A[i]); end.
Сложение всегда идет по модулю основания системы счисления. Это надо понимать следующим образом: В любой системе счисления младшая цифра ноль, а старшая на единицу меньше основания системы счисления. Например, в шестиричной, старшей цифрой будет 5. Если мы в результате сложения получаем число, превышающее записываемое старшей цифрой, то надо записать остаток от деления этого числа на основание системы, а частное прибавить к следующему разряду. 304.04 + 103.05
411.13 5+4=9, но 9>5 (старшей цифры 6-й системы), поэтому записываем 9-6=3, а +1 идет в следующий разряд. 0+0=0 и +1 пришел из предыдущей операции - итого записываем 1. 3+4=7, 7>5, поэтому записываем 7-6=1и +1 с следующий разряд. Далее 0+0+1=1 и 3+1=4. ответ: 411.13(6)
A:array[1..12] of integer;
i,FLAG, INDMAX, INDMIN,k:integer;
begin
randomize;
Writeln('Исходный массив:');
for i:=1 to 12 do
begin
A[i]:=random(20)-10;
writeln('A[',i,']=',A[i]);
end;
i:=0;
FLAG:=1;
While FLAG<>0 do
begin
i:=i+1;
if A[i]<0 then
begin
INDMIN:=i;
FLAG:=0;
end;
end;
i:=0;
FLAG:=1;
While FLAG<>0 do
begin
i:=i+1;
if A[i]>0 then
begin
INDMAX:=i;
FLAG:=0;
end;
end;
K:=A[INDMAX]; //Замена
A[INDMAX]:=A[INDMIN];
A[INDMIN]:=K;
writeln('Конечный массив: ');
for i:=1 to 12 do
writeln('A[',i,']=',A[i]);
end.
В любой системе счисления младшая цифра ноль, а старшая на единицу меньше основания системы счисления. Например, в шестиричной, старшей цифрой будет 5. Если мы в результате сложения получаем число, превышающее записываемое старшей цифрой, то надо записать остаток от деления этого числа на основание системы, а частное прибавить к следующему разряду.
304.04
+
103.05
411.13
5+4=9, но 9>5 (старшей цифры 6-й системы), поэтому записываем 9-6=3, а +1 идет в следующий разряд. 0+0=0 и +1 пришел из предыдущей операции - итого записываем 1. 3+4=7, 7>5, поэтому записываем 7-6=1и +1 с следующий разряд. Далее 0+0+1=1 и 3+1=4.
ответ: 411.13(6)