k:=0;
{Просмотр элементов массива, начиная с конца} For i := n DownTo 1 Do
If A[i] mod 3 = 0 Then Begin
{Сдвиг элементов массива, начиная с конца} For j := n+k DownTo i+1 Do
A[j+1] := A[j];
{Вставка элемента на место (i+1)-го, т.е. после i-го} A[i+1]:= x;
Inc(k); End;
{Вывод нового массива А} For i:=1 To n+k Do
Write (A[i]:6);
End.
Перестановка элементов одномерного массива
Пример 1.20. Ввести одномерный массив и поменять местами элементы с
номерами k и m.
Program replace;
Var mas:Array[1..20] Of Integer; a,k,m,N,i:Byte;
Begin ReadLn(N);
For i:=1 To N Do {ввод элементов массива} Read(mas[i]);
ReadLn(k); |
{ввод индексов переставляемых элементов} |
ReadLn(m); |
|
a:=mas[k]; |
{перестановка элементов массива с использованием |
дополнительной переменной а} mas[k]:=mas[m]; mas[m]:=a;
For i:=1 To N Do {вывод элементов массива} write(mas[i]:6)
End.
Задача о перестановке элементов с заданными свойствами сводится к этой задаче – надо найти только их номера. Например, чтобы поменять местами максимальный и минимальный элементы, надо предварительно определить индексы искомых элементов.