Язык программирования Pascal. Регулярные типы данных. Васильев В.В - 20 стр.

UptoLike

20
until c<>' ';
while (c<>' ') and (c<>'.') do
begin
if j<=8 then p[i,j]:=c; {Читаем i-е слово}
read(c); j:=j+1
end;
if c=' ' {Введен пробел}
then
begin
if j<=8 {Запись длины слова в массив d}
then d[i]:=j-1 else d[i]:=8;
i:=i+1; j:=1 {Подготовка к чтению нового слова}
end
until (c='.') or (i>50);
k:=i; d[k]:=j-1;
{Отбор и вывод слов , буквы которых упорядочены по алфавиту}
writeln;
writeln('Слова, которые отличны от последнего слова и ');
writeln('буквы в которых упорядочены по алфавиту:');
for i:=1 to k-1 do
begin
f:=true;
for j:=2 to d[i] do
if ord(p[i,j])<ord(p[i,j-1])
then f:=false;
g:=false;
for j:=1 to 8 do
if p[i,j]<>p[k,j] then g:=true;
if f and g then
for j:=1 to d[i] do write(p[i,j]); write(' ')
end;
{Отбор и вывод слов , в которых нет повторяющихся букв }
writeln; writeln;
writeln('Слова, которые отличны от последнего слова и ');
writeln('в которых нет повторяющихся букв :');
for i:=1 to k-1 do
begin
f:=true;
for j:=2 to d[i] do
for m:=j-1 downto 1 do
if p[i,j]=p[i,m]
then f:=false;
g:=false;
for j:=1 to 8 do
if p[i,j]<>p[k,j]