Решите что сможите, не обязательно все. Нужно написать программы для Паскаля, используя МАССИВ.
1) Дана последовательность действительных чисел a1, a2,...,a n. Выяснить,будет ли она возрастающей.
2)Даны действительные числа a1,a2,...a n. Поменять местами первый наибольший элемент с последним наименьшим элементом.
3) Дан массив X[N] целых чисел. Не используя других массивов, переставить его элементы в обратном порядке.
4)Задана последовательность из N целых чисел. Вычислить сумму элементов массива, порядковые номера которых совпадают со значением этого элемента.
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Verified answer
Задача 1
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
Задача 2
const 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
Задача 3
const 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
Задача 4
const 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