В противном случае в массиве А изменить порядок следования элементов на обратный. Преобразованный массив А выдать на дисплей в строку.
последовательность A из N элементов это
const
N = 50;
var
A: array [1..N] of integer;
отмечу лишь некоторые ключевые моменты, как-то замена рядомстоящих нулей на один
m:=1; {новый размер массива}
f:=false; {признак повторяющихся нулей}
for i:=1 to N do begin
if A[i] = 0 then begin {если это ноль}
if f then begin {и до этого был ноль}
{ничего не делаем - идём дальше}
end else begin {до этого был НЕ ноль}
f:=true; {выставляем признак начала нулей}
A[m]:=A[i]; {один из них оставляем}
m:=m+1;
end;
end else begin {это НЕ ноль}
f:=false; {сбрасываем признак нуля}
A[m]:=A[i]; {заполняем массив}
m:=m+1;
end;
end;
переворот значений в массиве (эта часть программы почти никогда не будет выполняться, но алгоритм интересный)
for i:=1 to m do begin
temp:=A[1];
for j:=1 to m-i do begin
A[j]:=A[j+1];
end;
A[m-i+1]:=temp;
end;
полный вариант программы тут
Комментариев нет:
Отправить комментарий