Помощь - Поиск - Пользователи - Календарь
Полная версия: Множества, задача на повторяющиеся элементы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Clerick
Помогите решить задачу!!!
Нужно составить программу, которая будет искать в множестве повторяющиеся болле 2-х раз элементы и выводить их на экран!!!
Есть решение через массивы на примеры строки букв, но училка сказала, что можно и без них как??? blink.gif

uses crt;
const n=255;
type alarm=set of char;
var c: array [1..255] of integer;
a:alarm;
s:string [25];
i,j:integer;
begin
clrscr;
readln(s);
for i:=1 to n do
for j:=1 to length(s) do
begin
if s[j]=chr(i) then c[i]:=c[i]+1;
end;
for i:=1 to n do
if c[i]>=2 then a:=a+[chr(i)];
for i:=1 to n do
if chr(i) in a then write (chr(i));
end.


Заранее спасибо!!!
volvo
Цитата
искать в множестве повторяющиеся болле 2-х раз элементы
Трудно искать черную кошку в темной комнате... blink.gif Особенно если ее там НЕТ и быть не может (как и двух одинаковых элементов в множестве).

Вариант:
var
i, j, count: integer;
s, rs: string;

begin
readln(s);

rs := '';
for i := 1 to length(s) do
if pos(s[i], rs) = 0 then begin
count := 0;
for j := 1 to length(s) do
if s[i] = s[j] then inc(count);

if count > 1 then rs := rs + s[i];
end;
writeln(rs);
end.
Clerick
Извиняюсь за некорректное условие. Нужно в строке отыскать одинаковые символы!!!
А Что такое inc(count)??? blink.gif
volvo
То же самое, что
Count := Count + 1;

Так больше нравится?

Цитата
Нужно в строке отыскать одинаковые символы!!!
Судя по твоей программе - нужно отыскать символы, встречающиеся более одного раза...
Clerick
Ну да!!! Опять некорректность... wink.gif Спасибо за помошь!!! smile.gif smile.gif smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.