Показать сообщение отдельно
  #1  
Старый 08.04.2010, 15:21
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию Задача с массивами

дан массив состоящий из 20 целых чисел.
а)Вывести все числа,которые встречаются в этом массиве несколько раз
б)Вывести все числа,которые встречаются в массиве только по одному разу.
Вроде бы сделал предварительную версию, но он не выводит числа, которые встречаются по 1 разу и выводит числа, которые повторяются друг за другом. А вот, если числа будут повторяться так:"1,2,1,2,3,4,5..." он не выводит, хотя должен. Помогите доделать...
Код:
var
var
A:array[1..20] of integer;
B:array[1..20,1..2] of integer;
n,i,j,k:integer;
begin
WriteLn('Vvedite elementi massiva');
for n := 1 to 20 do ReadLn(A[n]);
for i := 1 to 20 do begin
    k:= 0;
    for j:= 1 to 20 do begin
      if (A[i] = B[j][1]) then begin
        inc(B[j][2],1);

      end
      else inc(k,1);
    end;
    if (k = 20) then B[i][1]:= A[i]
  end;
 WriteLn('neskolko raz');
  for i:= 1 to 20 do
    if (B[i][2] > 1) then
WriteLn(B[i][1]);

WriteLn('1 raz');
for i:= 1 to 20 do
if (B[i][2] = 1) then
WriteLn(B[i][1]);
ReadLn;
end.;  
Ответить с цитированием