Информатика, вопрос задал SnezhanaKalinina , 10 лет назад

Решите что сможите, не обязательно все. Нужно написать программы для Паскаля, используя МАССИВ. 

1) Дана последовательность действительных чисел a1, a2,...,a n. Выяснить,будет ли она возрастающей. 

2)Даны действительные числа a1,a2,...a n. Поменять местами первый наибольший элемент с последним наименьшим элементом.

3) Дан массив X[N] целых чисел. Не используя других массивов, переставить его элементы в обратном порядке. 

4)Задана последовательность из N целых чисел. Вычислить сумму элементов массива, порядковые номера которых совпадают со значением этого элемента. 

Ответы на вопрос

Ответил nelle987
0

Задача 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

Новые вопросы