// Находим индексы первого и последнего ненулевых элементов for i := 1 to 10 do begin if (arr[i] <> 0) and (firstNonZero = 0) then firstNonZero := i; if arr[i] <> 0 then lastNonZero := i; end;
// Меняем местами первый и последний ненулевые элементы temp := arr[firstNonZero]; arr[firstNonZero] := arr[lastNonZero]; arr[lastNonZero] := temp;
// Выводим измененный массив for i := 1 to 10 do writeln(arr[i]);
program SwapFirstLastNonZero;
var
arr: array[1..10] of integer;
i, temp, firstNonZero, lastNonZero: integer;
begin
// Инициализация массива
arr := (3, 0, 4, 0, 7, 0, 2, 0, 9, 5);
// Находим индексы первого и последнего ненулевых элементов
for i := 1 to 10 do
begin
if (arr[i] <> 0) and (firstNonZero = 0) then
firstNonZero := i;
if arr[i] <> 0 then
lastNonZero := i;
end;
// Меняем местами первый и последний ненулевые элементы
temp := arr[firstNonZero];
arr[firstNonZero] := arr[lastNonZero];
arr[lastNonZero] := temp;
// Выводим измененный массив
for i := 1 to 10 do
writeln(arr[i]);
end.