Jump to content
СофтФорум - всё о компьютерах и не только

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


Recommended Posts

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

Link to comment
Share on other sites

Какой язык?

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

Link to comment
Share on other sites

Бумер:

Юзер генерирует в своем мозгу числа от 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'а, чтобы соблюсти требования наличия в решении множеств.

Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...