Составить программу,отыскивающую в одномерном массиве A(N) число, встречающееся наименьшее количество раз и если таких несколько, то выбирающую из них наибольшее — Pascal(Паскаль)

uses crt;
const nmax=100;
type mas=array[1..nmax] of integer;
function Kol(v:mas;x:byte;a:integer):byte;//подсчет количества вхождений числа
var i,k:byte;
begin
k:=0;
for i:=1 to x do
if v[i]=a then k:=k+1;
Kol:=k;
end;
function Min(v:mas;x:byte):byte;//минимальное число вхождений
var i,mn:byte;
begin
mn:=x;
for i:=1 to x do
if Kol(v,x,v[i])<mn then mn:=Kol(v,x,v[i]);
Min:=mn;
end;
function Max(v:mas;x:byte):integer;//наибольшее из редко встречающихся
var mx:integer;
    i:byte;
begin
mx:=-maxint;
for i:=1 to x do
if (Kol(v,x,v[i])=Min(v,x))and(v[i]>mx) then mx:=v[i];
Max:=mx;
end;
var a:mas;
    n,i,k,mn,f:byte;
begin
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..nmax];
writeln('Введите элементы массива:');
for i:=1 to n do
 begin
  write('a[',i,']=');
  readln(a[i]);
 end;
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
write('Максимальное число=',Max(a,n),', встречающееся минимальное число раз=',Min(a,n));
readln
end.

Leave a Comment

− 1 = 8