Составьте программу, которая заполняет массив а(1..10) случайными целыми числами в диапазоне от 1 до 100, затем меняет местами максимальный и минимальный элементы. выведите на экран исходный и полученный массивы.
261
410
Ответы на вопрос:
const n=10;
var a: array [1..n] of integer;
i,max,min,imax,imin: integer;
begin
min: =100;
max: =1;
write(' исходный массив: ');
for i: =1 to n do
begin
a[i]: =random(100)+1;
if a[i] > max then
begin
max: =a[i];
imax: =i
end;
if a[i] < min then
begin
min: =a[i];
imin: =i
end;
write(a[i]: 3,' ')
end;
writeln;
a[imax]: =min;
a[imin]: =max;
write('полученный массив: ');
for i: =1 to n do write(a[i]: 3,' ')
end.
Это так же называется обратной польской записью. числа, которые встречаются интерпретатору, помещаются в стек. а операции совершаются над числами лежащими в вершине стека. последовательность будет такая: а - помещается на вершину стека, b - помещается на вершину, а проталкивается вглубь стека. и т.д. после ввода цифры 7 стек будет иметь вид "abc7", где 7 лежит на вершине стека. затем приходит черед арифметических операций: "+" - берутся два числа, лежащие в вершине стека, складываются, и вместо них на вершину стека ложится их сумма. теперь стек будет таким: "ab(c+7)". следующая операция "*" - берутся b и (с+7) и умножаются. результат помещается на вершину стека. стек: "а(b*(c+7))". и последнее действие "-" - из a вычитается b*(c+7). в результате выражение будет иметь вид: а - b(c+7).
Популярно: Информатика
-
nikanor02049901.06.2020 16:40
-
ParkAnna07.04.2022 08:35
-
KatyGey17.01.2022 01:32
-
kostyasmirnov28.09.2022 18:08
-
azharik2k1713.10.2021 05:44
-
Генгстер17.07.2020 04:33
-
pozitivtv290522.08.2021 03:12
-
Dyrochka2203.10.2021 11:35
-
daniil35701.09.2022 06:54
-
ПятьПятьПять29.01.2021 08:56