Знаем-знаем... но просто так делать лень.
Вот если ты сделаешь, то тебе помогут найти и устранить ошибки.
6.13
Код:
type
TNmb = record
Value : Integer;
Count : Integer;
end;
var
A : Array Of TNmb;
N, I, J : Integer;
F : Boolean;
AA : TNmb;
begin
// Ввод чисел с подсчетом кол-ва
SetLength(A,0);
N := 0;
WriteLn('Введите числа, окончание ввода -1');
While N <> -1 Do
Begin
Write('Введите число:');
ReadLn(N);
F := False;
For I := Low(A) To High(A) Do
If A[i].Value = N Then
Begin
Inc(A[i].Count);
F := True;
End;
If Not F Then
Begin
SetLength(A,Length(A)+1);
A[High(A)].Value := N;
A[High(A)].Count := 1;
End
End;
// Сортировка по убыванию
For I := Low(A) To High(A)-1 Do
For J := I+1 To High(A) Do
If A[i].Count < A[J].Count Then
Begin
AA := A[i];
A[i] := A[J];
A[J] := AA;
End;
// Вывод результата
WriteLn('Числа по убыванию кол-ва:'
For I := Low(A) To High(A) Do
WriteLn(Format('Число %d встречяается %d раз',[A[i].Value,A[i].Count]));
end;