Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Подсчет одинаковых элементов

Автор: eden 28.11.2003 23:42

Подскажите как посчитать одинаковые элементы в массиве.

Автор: Дмитриев Ярослав 29.11.2003 0:22

Написать мне на clane@km.ru, Я помогу !

Автор: Дмитриев Ярослав 29.11.2003 1:22

Хотя можно и в форуме, да простит меня MJ =)))

Код
program passss;
var a: array[1..10] of integer;
i,c: byte;
d : integer;
begin
for i:=1 to 10 do {ввод массива}
begin
writeln('Введите число');
readln(a[i]);
end;
writeln ('Введите число для сравнения');
readln(d);
for i:=1 to 10 do {если нулевой элемент, но ничего не делай}
begin
if d=a[i] then inc(c);
end;
writeln ('В массиве найдено',с ,'совпадений !');
end.

Автор: eden 29.11.2003 12:57

Несовсем то, нужно посчитать сколько раз каждый элемент встречаеться. smile.gif

Автор: GLuk 29.11.2003 15:20

Пожалуйста, что называется вариант решения "в лоб":  :)

Код

Program EqualElements;
Uses
   Crt;
Const
    N = 100;
Var
  a:array[1..N] of Byte;
  i,j:Word;
  Cnt:Word;
Begin
    ClrScr;
    Randomize;
    For i:=1 to N do a[i]:=Random(30);
    For i:=1 to N do
    begin
         Cnt:=0;
         For j:=1 to N do If a[i]=a[j] then Inc(Cnt);
         WriteLn('ќ«Ґ¬Ґ­в ',i,' ўбваҐз Ґвбп ',Cnt,' а §.');
    end;
End.