Восновной программе добавить печать массива слов. Предварительно надо объявить переменные. После отладки отладочные выводы надо убрать.
nw:=StrToWord(s, w); writeln(' nw=', nw);
for i:=1 to nw do writeln(w[i]);
Задание 2
Отсортировать массив слов
1.По алфавиту
2.По длине слова
Для сортировки целесообразно использовать одну функцию сортировки с передачей ей критерия сортировки через процедурный тип.
Type
TFSort=Function(s1, s2 : string) : Boolean;
Функции - критерии сортировки
Function FSortA(s1, s2 : string) : Boolean;
Begin if s1>s2 then Result:=true else
Result:=false; End; Function FSortL(s1, s2 : string) : Boolean;
Begin if length(s1)>length(s2) then Result:=true else Result:=false; End;
Функция сортировки с подсчетом перестановок
Function Sort(Var w : Tw; nw : word; FSort : TFSort) : word;
Var i, j : word; buf : string; Begin
Result:=0;
for i:=1 to nw-1 do for j:=i+1 to nw do
if FSort(w[i], w[j]) then
begin inc(Result); buf:=w[i]; w[i]:=w[j]; w[j]:=buf; end;
End;
Основная программа
Var s : string;
w: Tw;
nw, i : word;
BEGIN
//. . . . . . . . . . . . . .
//SortA
writeln(' Change SortA=',
Sort(w, nw, FSortA)/(0.5*(nw-1)*nw):7:3); for i:=1 to nw do writeln(w[i]);
//SortL
writeln(' Change SortL=',
Sort(w, nw, FSortL)/(0.5*(nw-1)*nw):7:3); for i:=1 to nw do writeln(w[i]);
readln;
END.