Ввести одномерный массив A , вывести его. Найти произведениеэлементов стоящих слева и справа от минимального элемента массива.Разделить на найденное произведение минимум и максимум. Изменённыймассив вывести.Вот начало:program A...

Ввести одномерный массив 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;
Гость
Ответ(ы) на вопрос:
Гость
Прежде всего, тот код, который вы написали - чепуха! Сейчас вам напишу свой. Еще, на счет последнего, мы массив ни коем образом не изменяем, просто выполняем операции с его элементами, поэтому, вывести "измененный" массив не получится.  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. Единственное, что я не понимаю, так это "разделить на произведение минимум и максимум". Объясните ясней
Не нашли ответ?
Ответить на вопрос
Похожие вопросы