Var ar:array[1..s] of integer; n,m,i:integer; begin writeln('N'); readln(n); writeln('M'); readln(m); writeln('Array:'); for i:=1 to s do readln(ar[i]); writeln('First array:'); for i:=1 to s do begin write(ar[i]:4); if ar[i] div n<>0 then ar[i]:=ar[i]+m; end; writeln; writeln('Final array:'); for i:=1 to s do write(ar[i]:4); end.
Пример ввода: 3 3 1 2 3 4 5 Пример вывода: First array: 1 2 3 4 5 Final array: 1 2 6 7 8
Объяснение:
Если и считать всё в двоичной системе, то надо сначала все числа перевести в неё.
Перевод из шестнадцатеричной в двоичную- каждая шестнадцатеричная цифра заменяется на четыре двоичных, затем незначащие нули спереди- отбрасываются:
10₁₆ = 00010000₂ = 10000₂
Перевод из восьмеричной в двоичную- каждая восьмеричная цифра заменяется на три двоичных, затем незначащие нули спереди- отбрасываются:
10₈ = 001000₂ = 1000₂
Получаем в итоге пример:
10000₂ + 1000₂ + 10₂* 10000₂ = 10000₂ + 1000₂ + 100000₂ =
= 111000₂
Const
s=5;
Var
ar:array[1..s] of integer;
n,m,i:integer;
begin
writeln('N');
readln(n);
writeln('M');
readln(m);
writeln('Array:');
for i:=1 to s do
readln(ar[i]);
writeln('First array:');
for i:=1 to s do
begin
write(ar[i]:4);
if ar[i] div n<>0 then ar[i]:=ar[i]+m;
end;
writeln;
writeln('Final array:');
for i:=1 to s do
write(ar[i]:4);
end.
Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
1 2 3 4 5
Final array:
1 2 6 7 8
//Блок-схема во вложении