Ввести одномерный массив 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;
1 ответ
Ванька
Прежде всего, тот код, который вы написали - белиберда! Сейчас вам напишу собственный. Еще, на счет заключительного, мы массив ни коем образом не изменяем, просто исполняем операции с его элементами, потому, вывести "измененный" массив не получится.
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] lt; 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.
Единственное, что я не разумею, так это "поделить на творенье минимум и максимум". Объясните светлей
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] lt; 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.
Единственное, что я не разумею, так это "поделить на творенье минимум и максимум". Объясните светлей
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов