Строки - Pascal (89603)
Формулировка задачи:
как найти в предложении слово, в котором самое большое количество различных букв?...
Решение задачи: «Строки»
textual
Листинг программы
uses crt; const rz=['.',',','?','!',';',':']; procedure Format(var s:string); begin s:=s+' '; while pos(' ',s)>0 do delete(s,pos(' ',s),1); end; function Kol(s:string):byte; var m:set of char; i,k:byte; begin m:=[]; k:=0; for i:=1 to length(s) do if not(s[i] in m) then begin k:=k+1; m:=m+[s[i]]; end; Kol:=k; end; function Max(s:string):string; var mx:byte; s1,s2:string; begin mx:=0; while pos(' ',s)>0 do begin s1:=copy(s,1,pos(' ',s)-1); if Kol(s1)>mx then begin mx:=Kol(s1); s2:=s1; end; delete(s,1,pos(' ',s)); end; Max:=s2; end; var s:string; begin clrscr; writeln('Предложение:'); readln(s); write('Больше всего разных букв в слове ',Max(s)); readln end.
Объяснение кода листинга программы
- Объявлены константа rz, содержащая символы пунктуации, и переменная s типа string.
- Выполнена функция Format, которая удаляет из строки все повторяющиеся пробелы, оставшиеся после разделения строки на слова.
- Выполнена функция Kol, которая подсчитывает количество уникальных символов в строке.
- Выполнена функция Max, которая находит слово в строке с наибольшим количеством уникальных символов.
- Программа запрашивает у пользователя предложение и выводит на экран сообщение с наиболее часто встречающимся словом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д