Помогите пожалуйста!Совсем ноль!!! Описать функцию 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;
beginfor n := 0to255do chars[n] := 0;
for n:=1to length(Source) dobegin
k := ord(Source[n]);
chars[k]:=chars[k] + 1end;
{ Вот этого у тебя не было - тебе же надо найти символ(ы), встречающиеся минимальное кол-во раз? }
min := 255;
for n := 0to255doif (chars[n] > 0) and (chars[n] < min)
then min := chars[n];
for n:=0to255doif chars[n] = min then
write(chr(n),' - ', chars[n]:3,' ');
writeLn;
end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.