Cho một dãy gồm n số nguyên dương A1,A2,…,An. (N≤105,Ai≤106).
Yêu cầu: Hãy in ra các phần tử của mảng theo thứ tự tăng dần cùng với số lần xuất hiện của chúng, các số trùng nhau thì chỉ ghi một lần
Cho một dãy gồm n số nguyên dương A1,A2,…,An. (N≤105,Ai≤106).
Yêu cầu: Hãy in ra các phần tử của mảng theo thứ tự tăng dần cùng với số lần xuất hiện của chúng, các số trùng nhau thì chỉ ghi một lần
program mang;
uses crt;
var A:array[1..100] of integer;
n,i,j,tg,d:integer;
begin
write(‘Nhap so luong phan tu: ‘); readln(n);
for i:=1 to n do
begin
write(‘A[,’i’,]= ‘);
readln(A[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if A[i]>A[j] then
begin
tg:=A[i];
A[i]:=A[j];
A[j]:=tg;
end;
i:=1; d:=0;
while i<=n do
begin
inc(d);
if A[i]<>A[i+1] then
begin
write(A[i],’ ‘,d,’ ‘);
d:=0;
end;
i:=i+1;
end;
readln
end.
program
uses crt;
var A:array[1..100] of integer;
n,i,j,tg,d:integer;
begin
write(‘Nhap so luong phan tu: ‘); readln(n);
for i:=1 to n do
begin
write(‘A[,’i’,]= ‘);
readln(A[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if A[i]>A[j] then
begin
tg:=A[i];
A[i]:=A[j];
A[j]:=tg;
end;
i:=1; d:=0;
while i<=n do
begin
inc(d);
if A[i]<>A[i+1] then
begin
write(A[i],’ ‘,d,’ ‘);
d:=0;
end;
i:=i+1;
the end;