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

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


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

Юзер генерирует в своем мозгу числа от 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) есть отдельный тип данных - множество. И хранить он может либо байты, либо перечислимые типы.

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

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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