IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите найти ошибки в задачи на функцию
сообщение
Сообщение #1


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


Помогите пожалуйста!Совсем ноль!!!
Описать функцию f(s, n, х), определяющую, какой символ реже других ( но не нуль раз ) встречается в строке s и сколько раз он в нее входит. Если таких символов несколько, то взять первый из них по алфавиту.

Надеюсь на Вашу помощь!!!

Сообщение отредактировано: spektr -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


Вот готовая программа,но препод говорит,есть ошибки,какого-то условия не хватает... Помогите пожалуйста их найти неточности...

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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Я бы вот так сделал:

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;

 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 22.10.2021 16:14
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name