Lập trình đơn giản

Dang Thao Nhi
Nhập một dãy A (mỗi số chỉ xuất 1 lần) có N (< 40) số tự nhiên và 1 số K. Hãy xuất ra các phần tử có số lần xuất hiện trong dãy A từ K lần trở lên thứ tự tăng dần.
Dữ liệu nhập: file DAYSO.INP:
- Dòng 1: 2 số n và k cách nhau bởi 1 dấu cách.
- Dòng 2: dãy A.
Dữ liệu ra: file DAYSO.OUT: Xuất các số thỏa điều kiện trên. chỉ 1 dòng duy nhất chứ kết quả nếu mà số đó lập lại thì xóa chỉ chừa 1 từ ----hết-----

làm giúp ạ

Nguyễn Lê Phước Thịnh
1 tháng 12 2020 lúc 16:47

const fi='dayso.inp';
fo='dayso.out';
var f1,f2:text;
a,b,c:array[1..100]of integer;
i,n,k,dem,j,dem1,dem2,kt:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,k);
for i:=1 to n do
read(f1,a[i]);
dem:=1;
b[1]:=a[1];
for i:=1 to n do
begin
kt:=0;
for j:=1 to dem do
if a[i]=b[j] then kt:=1;
if kt=0 then
begin
inc(dem);
b[dem]:=a[i];
end;
end;
dem1:=0;
for i:=1 to dem do
begin
dem2:=0;
for j:=1 to n do
if b[i]=a[j] then inc(dem2);
if k<=dem2 then
begin
inc(dem1);
c[dem1]:=b[i];
end;
end;
for i:=1 to dem1 do
write(f2,c[i]:4);
close(f1);
close(f2);
end.

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
dinhnguyentuhuy
Xem chi tiết
dinhnguyentuhuy
Xem chi tiết
Mon_LAK
Xem chi tiết
Thu Hiền
Xem chi tiết
No_sun
Xem chi tiết
khonopro
Xem chi tiết
Nguyễn Phương Bằng
Xem chi tiết
Phạm Thị Kim Anh
Xem chi tiết
Đào Tiến Đạt
Xem chi tiết
Lục Hạ Vy
Xem chi tiết