Муторное конечно это занятие. Вообще, если при вводе предложения пользователь ограничивается небольшим количеством слов(там, меньше 20, например), то можно и самому составить. Например, если пользователь может использовать в своих предложениях только слова "сколько, человек, группа", то для твоей проги подойдёт, что-то типа такого решения:
Код
Const
slovar = Array [1..3,1..6] of String=
(('сколько', '', '', '', '', ''),
('человек', 'человека', 'человеку', 'человека', 'человеком', 'человеке'),
('группа', 'группы', 'группе', 'группу', 'группой', 'группе'));
Var
sl : array [1..10] of string;
st : string;
i,n : integer;
Function Func(x : string) : string;
var
i,j : integer;
begin
func:='';
for i:=1 to 3 do
for j:=1 to 6 do
if x=slovar[i,j] then
begin
func:=slovar[i,1];
Exit
end
end;
begin
readln(st);
while pos(' ',st)>0 Do
Begin
Inc(n);
Sl[n]:=Copy(st,1,Pos(' ',st)-1);
Delete(st,1,Pos(' ',st));
End;
Inc(n);
Sl[n]:=st;
For i:=1 To n Do
If Func(sl[i])<>'' Then WriteLn(Func(st[i]));
ReadKey
end.
Конечно, этот код я сейчас от руки набросал, но идеядумаю понятна. Однако, это только в том случае, если пользователь может использовать только какой определённый набор слов в своих предложениях.
Потому что, массив на 1000 слов ты печатать замучаешься.
Тебе будет проще придумать устройство, которое поключается к голове училки по русскому языку и использует ресурсы её мозга

Заодно и нобелевскую получишь