procedure Ввод(a: array of string);
begin
for var i := 0 to a.High do
a[i] := ReadlnString;
end;
procedure Вывод(a: array of string);
a.PrintLines
function Сумма(a: array of string): integer;
Result := a.Select(t -> t.ToInteger).Sum;
var n := ReadlnInteger('Укажите общее количество строк:');
var a := new string[n];
Ввод(a);
Вывод(a);
Println('Сумма равна', Сумма(a))
end.
Объяснение:
Если и считать всё в двоичной системе, то надо сначала все числа перевести в неё.
Перевод из шестнадцатеричной в двоичную- каждая шестнадцатеричная цифра заменяется на четыре двоичных, затем незначащие нули спереди- отбрасываются:
10₁₆ = 00010000₂ = 10000₂
Перевод из восьмеричной в двоичную- каждая восьмеричная цифра заменяется на три двоичных, затем незначащие нули спереди- отбрасываются:
10₈ = 001000₂ = 1000₂
Получаем в итоге пример:
10000₂ + 1000₂ + 10₂* 10000₂ = 10000₂ + 1000₂ + 100000₂ =
= 111000₂
procedure Ввод(a: array of string);
begin
for var i := 0 to a.High do
a[i] := ReadlnString;
end;
procedure Вывод(a: array of string);
begin
a.PrintLines
end;
function Сумма(a: array of string): integer;
begin
Result := a.Select(t -> t.ToInteger).Sum;
end;
begin
var n := ReadlnInteger('Укажите общее количество строк:');
var a := new string[n];
Ввод(a);
Вывод(a);
Println('Сумма равна', Сумма(a))
end.
Объяснение:
Если и считать всё в двоичной системе, то надо сначала все числа перевести в неё.
Перевод из шестнадцатеричной в двоичную- каждая шестнадцатеричная цифра заменяется на четыре двоичных, затем незначащие нули спереди- отбрасываются:
10₁₆ = 00010000₂ = 10000₂
Перевод из восьмеричной в двоичную- каждая восьмеричная цифра заменяется на три двоичных, затем незначащие нули спереди- отбрасываются:
10₈ = 001000₂ = 1000₂
Получаем в итоге пример:
10000₂ + 1000₂ + 10₂* 10000₂ = 10000₂ + 1000₂ + 100000₂ =
= 111000₂