Прежде всего, тот код, который вы написали - чепуха! Сейчас вам напишу свой. Еще, на счет последнего, мы массив ни коем образом не изменяем, просто выполняем операции с его элементами, поэтому, вывести "измененный" массив не получится.
var mass: Array[0..10] of integer;
max_elem, min_elem, i, min_index, multOnTheLeft, multOnTheRight: integer;
begin
for i := 1 to 10 do begin
write('Введите ', i, ' элемент массива: ' );
readln(mass[i]);
end;
for i := 1 to 10 do writeln('mass[', i, '] = ', mass[i]);
min_elem := mass[1];
for i := 1 to 10 do begin
if mass[i] < min_elem then begin
min_elem := mass[i];
min_index := i;
end;
end;
writeln('Минимальное значение: ', min_elem, ', индекс элемента: ', min_index );
multOnTheLeft := 1; multOnTheRight := 1;
for i := 1 to min_index do multOnTheLeft := multOnTheLeft * mass[i];
for i := min_index to 10 do multOnTheRight := multOnTheRight * mass[i];
writeln('Произведение слева: ', multOnTheLeft, ', справа: ', multOnTheRight);
end.
Единственное, что я не понимаю, так это "разделить на произведение минимум и максимум". Объясните ясней