Помощь - Поиск - Пользователи - Календарь
Полная версия: Множества, задача на повторяющиеся элементы
Форум «Всё о Паскале» > 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
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.