Строки - 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.

Объяснение кода листинга программы

  1. Объявлены константа rz, содержащая символы пунктуации, и переменная s типа string.
  2. Выполнена функция Format, которая удаляет из строки все повторяющиеся пробелы, оставшиеся после разделения строки на слова.
  3. Выполнена функция Kol, которая подсчитывает количество уникальных символов в строке.
  4. Выполнена функция Max, которая находит слово в строке с наибольшим количеством уникальных символов.
  5. Программа запрашивает у пользователя предложение и выводит на экран сообщение с наиболее часто встречающимся словом.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы