Показать сообщение отдельно
  #6  
Старый 01.04.2021, 20:54
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 41
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

И даже нет ни каких предположений и вариантов как это сделать? Или вам сразу нужен готовый ответ? Как потом будете объяснять при сдаче, что решение задачи не соответствует вашему уровню?

Как решение на задачу номер три. (Но решение грубое и можно сделать лучше, но и этот вариант работает)

Код:
var pravilnie_slova:array [1..65535] of string; //список правильного написания слов
s:string; //ваша строка которую проверяем
i,j:integer; //для цикла
s1:string; //слово из предложения
b:integer; //для цикла проверки слова на правописание
f:boolean; //показывает что данное слово есть в словаре

slovo:array[0..65535] of integer; //позиции пробелов для определения слов
a:integer; //кол-во слов
begin
//вводим строку любым известным способом
s:=' '+s; // для того что бы посчитало первое слово
s:=s+' '; //для того чтобы посчитало последнее слово
a:=0;
for I := 1 to length(s) do if (s[i]=' ')and(s[i+1]<>' ') then begin slovo[a]:=i; a:=a+1; end;//позиция пробела и кол-во слов в предложении

//теперь в переменной "A" занесенно кол-во слов в предложении
for I := 0 to a do
  begin
   s1:=copy(s,slovo[i]+1,slovo[i+1]-1); //сейчас сюда скопированно слово из предложения

   //далее проверяем есть ли данное слово в словаре
   f:=false; //первоначально указываем что данного слова нет в словаре
   for b := 1 to 65535 do if pravilnie_slova[b]=s1 then begin f:=true; break; end; //если слово есть в словаре то выходим из цикла

   //показывает что данное слово есть в словаре
   if f=false then writeln('слово написанно с ошибкой '+s1);
  end;

end;