Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Посчитать повторяющиеся символы


Рекомендуемые сообщения

Юзер генерирует в своем мозгу числа от 1 до 100 (на большее его мозжечок не способен) и вводит с клавы! Моя прога должна посчитать число повторов чисел и вывести эти числа и число повторов на экран. Без встроенных процедур и функций должна быть прога. Обязательно надо использовать множества. Я не могу никак понять, как сделать так, чтобы прога считала кол-во повторов и как это кол-во повторов связать с этим числом???? И нафиг тут множества. Подкиньте идейку пожалуйста! Если код напишете - буду очень благодарен!

Ссылка на комментарий
Поделиться на другие сайты

Какой язык?

ИМХО если с применением множеств - то общая идея такая: создаешь пустое множество, затем для каждого числа проверяешь, принадлежит ли оно этому множеству. Если нет - заносишь в множество, если да - увеличиваешь счетчик количества появлений для этого числа.

Ссылка на комментарий
Поделиться на другие сайты

Бумер:

Юзер генерирует в своем мозгу числа от 1 до 100 (на большее его мозжечок не способен)
А чего там, человек в первом классе... :D
Я не могу никак понять, как сделать так, чтобы прога считала кол-во повторов и как это кол-во повторов связать с этим числом????
Пустяк. Заводим массив из ста элементов, первоначально нулевых, и используем каждое введенное число в качестве индекса элемента массива, в который надо при вводе этого числа добавить единичку.
var A:array[0..100] of Byte; e:Byte;

begin

for e:=0 to 100 do A[e]:=0;

repeat ReadLn(e); A[e]:=A[e]+1 until e=0;

for e:=1 to 100 do if A[e]<>0 then WriteLn (e:5,A[e]:5);

end.

Тут ввод чисел юзером заканчивается вводом нуля, на экран затем выдаются пары из введенных чисел и сколько раз вводилось каждое число.

Хуже с множествами. Они тут, что называется, пришей кобыле хвост. Множество фиксирует факт наличия или отсутствия чего-то, но никак не количество одинаковых элементов. Так что я не вижу разумного способа прицепить сюда множества. Разве что пришить к программе хвост по предложению Shurr'а, чтобы соблюсти требования наличия в решении множеств.

Ссылка на комментарий
Поделиться на другие сайты

Пустяк. Заводим массив из ста элементов, первоначально нулевых, и используем каждое введенное число в качестве индекса элемента массива, в который надо при вводе этого числа добавить единичку.

Блин, и вправду пустяк! Как я не допер?????? сказано:"дау.."!

Спасибо большое!

ЗЫ: извиняюсь, что не сказал, что это был Паскаль, но Тролль я так понял догадался ;-)

Ссылка на комментарий
Поделиться на другие сайты

Бумер: вообщета задачка из области статистики те есть такая стат. функция, если нужна её формула то поищу и напишу.

Ссылка на комментарий
Поделиться на другие сайты

Так массив это и есть множество. Только с немного другим интерфейсом.

Множество же хранит не числа, а объекты. Хоть калькуляторы туда пихай.

А {ЧИСЛО, ЧИСЛО_ПОВТОРОВ} - вполне подходящий элемент для множества.

Ссылка на комментарий
Поделиться на другие сайты

Множество же хранит не числа, а объекты. Хоть калькуляторы туда пихай.

А {ЧИСЛО, ЧИСЛО_ПОВТОРОВ} - вполне подходящий элемент для множества.

Это если ты пишешь не на паскале :g:

Ссылка на комментарий
Поделиться на другие сайты

Shurr:

Это если ты пишешь не на паскале
отнюдь в ВР 7.1 есть ООП, хотя в ТР его нет.
Ссылка на комментарий
Поделиться на другие сайты

Shurr: отнюдь в ВР 7.1 есть ООП, хотя в ТР его нет.

В паскале (в т.ч. ВР 7.1) есть отдельный тип данных - множество. И хранить он может либо байты, либо перечислимые типы.

И если человек пишет "Обязательно надо использовать множества." - то, скорее всего именно на использование этого типа данный рассчитано задание.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...