Ввести одномерный массив a , вывести его. найти произведение элементов стоящих слева и справа от минимального элемента массива. разделить на найденное произведение минимум и максимум. изменённый массив вывести. вот начало: program abc; const nmass=100; var a: array[1..nmass] of integer; n,i,k,max,min: byte; buf: integer; begin cls; //ручной ввод массива writeln('введите число элементов в массиве a'); readln(n); writeln('вводим элементы массива a: '); for i: =1 to n do begin write('a[',i,']='); readln(a[i]); end; //вывод массива до измененния writeln('исходный массив a: '); for i: =1 to n do write(a[i]: 5); writeln;

Сабина761 Сабина761    1   25.05.2019 01:20    0

Ответы
VasyaPupkin2281488 VasyaPupkin2281488  21.06.2020 00:07
Прежде всего, тот код, который вы написали - чепуха! Сейчас вам напишу свой. Еще, на счет последнего, мы массив ни коем образом не изменяем, просто выполняем операции с его элементами, поэтому, вывести "измененный" массив не получится. 
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.

Единственное, что я не понимаю, так это "разделить на произведение минимум и максимум". Объясните ясней
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика