Помогите пожалуйста!Совсем ноль!!! Описать функцию f(s, n, х), определяющую, какой символ реже других ( но не нуль раз ) встречается в строке s и сколько раз он в нее входит. Если таких символов несколько, то взять первый из них по алфавиту.
Надеюсь на Вашу помощь!!!
spektr
31.05.2007 22:31
Вот готовая программа,но препод говорит,есть ошибки,какого-то условия не хватает... Помогите пожалуйста их найти неточности...
procedure Stat(source: string); var chars: array[0..255] of Word; n, k: Integer; begin for n:=0 to 255 do chars[n]:=0; for n:=1 to length(Source) do begin k:=ord(Source[n]); chars[k]:=chars[k] + 1 end; for n:=0 to 255 do if chars[n] > 0 then Write(chr(n),'' - '', chars[n]:3,'' ''); WriteLn; end; VAR S: String; BEGIN Write(''Type the string: ''); ReadLn(S); Stat(S); END.
volvo
31.05.2007 23:17
Я бы вот так сделал:
procedure Stat(source: string); var chars: array[0..255] of Word; n, k: Integer; min: integer;
begin for n := 0 to 255 do chars[n] := 0; for n:=1 to length(Source) do begin k := ord(Source[n]); chars[k]:=chars[k] + 1 end;
{ Вот этого у тебя не было - тебе же надо найти символ(ы), встречающиеся минимальное кол-во раз? } min := 255; for n := 0 to 255 do if (chars[n] > 0) and (chars[n] < min) then min := chars[n];
for n:=0 to 255 do if chars[n] = min then write(chr(n),' - ', chars[n]:3,' '); writeLn; end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.