var
m : array [1..10] of Integer;
i, b, s, p : Integer;
begin
Writeln('Введите массив:');
for i := 1 to 10 do
begin
Write(i, ': ');
Readln(m[i]);
end;
s := 0;
b := m[1];
p := 1;
for i := 1 to 10 do
begin
if b < m[i] then b := m[i];
if m[i] > 0 then s := s + m[i];
if m[i] mod 2 = 0 then p := p * m[i];
end;
Writeln('Наибольший элемент = ', b);
Writeln('Сумма неотрицаельных элементов = ', s);
Writeln('Произведение четных элементов = ', p);
ReadLn;
end.
Другой перевода из десятичной системы в двоичную: берем число и делим его столбиком на основание системы, в которую переводим. Нацело. Если есть остаток, то его оставляем. А получившееся часное снова делим на основание требуемой системы. И так далее, пока часное не перестанет делится нацело. А чтобы записать число в требуемой системе, записываем последнее часное, а потом все остатки, начиная с последнего. (кстати, по аналогии можно переводить в любую другую систему).
173| 2
172 86| 2
1 86 43| 2
0 42 21| 2
1 20 10| 2
1 10 5| 2
0 4 2| 2
1 2 1
0
Итого: в записи 5 единиц.
2) 1812
3) 1945
4) 2014