Утроение элементов с чётными номерами: for i := 1 to N div 2 do A[i * 2] := A[i * 2] * 3; Номера элементов - банальная сортировка вставками (она лучше ложится на задачу, чем пузырёк или выбор). Требует дополнительного массива B. B: array [0..N] of integer;
...
B[1] := 1;
for i := 2 to N do begin
j := i;
while (j > 1) and (A < A[B[j - 1]]) do begin
B[j] := B[j - 1];
dec(j)
end;
B[j] := i
end;
for i := 1 to N do write(B, ' ');
program array;
var
A: array[1..N] of integer;
i, j, k: integer;
begin
// Утроить в массиве вхождения всех элементов с четными номерами
for i := 1 to N do
for j := 1 to N do
if (i mod 2 = 0) and (A = A[j]) then
A := A + A[j];
// Вывести результат
for i := 1 to N do
writeln(A);
// Вывести номера его элементов в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность
for i := 1 to N do
for j := 1 to N do
if A < A[j] then
begin
k := A;
A := A[j];
A[j] := k;
end;
// Вывести результат
for i := 1 to N do
writeln(A);
// Удалить из преобразованного в пункте 1 массива все значения элементов кратные 4
for i := 1 to N do
if A mod 4 = 0 then
A := 0;
// Вывести результат
for i := 1 to N do
writeln(A);
end.
Для решения данной задачи на Паскале необходимо написать следующий код:
Утроить вхождения всех элементов с четными номерами:
program array_operations;
const
N = 10; // размер массива
var
A: array[1..N] of integer;
i: integer;
begin
// инициализация массива
for i := 1 to N do
A := i;
// утроение вхождений всех элементов с четными номерами
for i := 2 to N step 2 do
A := A * 3;
// вывод результата
for i := 1 to N do
writeln(A);
end.
Вывести номера элементов в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность:
program array_operations;
const
N = 10; // размер массива
var
A: array[1..N] of integer;
B: array[1..N] of integer;
i, j, k: integer;
begin
// инициализация массива
for i := 1 to N do
A := random(100);
// сохранение номеров элементов в отдельный массив
for i := 1 to N do
B := i;
// сортировка массивов по значениям A
for i := 1 to N - 1 do
for j := i + 1 to N do
if A > A[j] then
begin
k := A;
A := A[j];
A[j] := k;
k := B;
B := B[j];
B[j] := k;
end;
// вывод номеров элементов в возрастающем порядке
for i := 1 to N do
writeln(B);
end.
Удалить из преобразованного в пункте 1 массива все значения элементов, кратные 4:
program array_operations;
const
N = 10; // размер массива
var
A: array[1..N] of integer;
i, j: integer;
begin
// инициализация массива
for i := 1 to N do
A := i * 2;
// утроение вхождений всех элементов с четными номерами
for i := 2 to N step 2 do
A := A * 3;
// удаление элементов, кратных 4
j := 1;
for i := 1 to N do
if A mod 4 <> 0 then
begin
A[j] := A;
j := j + 1;
end;
// вывод результата
for i := 1 to j - 1 do
writeln(A);
end.