Решите что сможите, не обязательно все. нужно написать программы для паскаля, используя массив. 1) дана последовательность действительных чисел a1, n. выяснить,будет ли она возрастающей. 2)даны действительные числа a1, n. поменять местами первый наибольший элемент с последним наименьшим элементом. 3) дан массив x[n] целых чисел. не используя других массивов, переставить его элементы в обратном порядке. 4)задана последовательность из n целых чисел. вычислить сумму элементов массива, порядковые номера которых со значением этого элемента.
const max_size = 100;
var a: array[1..max_size] of real;
i, n: integer;
f: boolean;
begin
read(n); {Во всех задачах считаю, что n <= max_size}
for i := 1 to n do
read(a[i]);
f := true;
for i := 2 to n do
f := f and (a[i] > a[i - 1]);
write(f)
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
TRUE
Задача 2const max_size = 100;
var a: array[1..max_size] of real;
i, n, imax, imin: integer;
temp: real;
begin
read(n);
for i := 1 to n do
read(a[i]);
imax := 1;
imin := n;
for i := 2 to n do
if a[i] > a[imax] then
imax := i;
for i := n - 1 downto 1 do
if a[i] < a[imin] then
imin := i;
temp := a[imax];
a[imax] := a[imin];
a[imin] := temp;
for i := 1 to n do
write(a[i], ' ');
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
4 2 3 1
Задача 3const max_size = 100;
var x: array[1..max_size] of integer;
i, n, temp: integer;
begin
read(n);
for i := 1 to n do
read(x[i]);
for i := 1 to n div 2 do
begin
temp := x[i];
x[i] := x[n - i + 1];
x[n - i + 1] := temp;
end;
for i := 1 to n do
write(x[i], ' ');
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
4 3 2 1
Задача 4const max_size = 100;
var x: array[1..max_size] of integer;
i, n, sum: integer;
begin
read(n);
for i := 1 to n do
read(x[i]);
for i := 1 to n do
if i = x[i] then
sum := sum + x[i];
write(sum)
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
10