Tháng Mười Hai 23, 2018
Đếm số lượng số
Đề bài: Cho một mảng n số nguyên. Đếm xem trong mảng có bao nhiêu số khác nhau và mỗi số xuất hiện bao nhiêu lần trong mảng. Các số trong mảng có độ lớn từ 0 đến 1000. n <= 100.
Đầu vào: Dòng đầu tiên là số nguyên n. Dòng thứ 2 là mảng n số nguyên, các số cách nhau bởi dấu cách.
Đầu ra: Dòng đầu tiên chứa số m là số lượng số khác nhau, m dòng tiếp theo mỗi dòng chứa 2 số cách nhau bởi dấu cách lần lượt là số đó và số lượng xuất hiện của số đó. m dòng này sắp xếp theo chiều tăng dần của giá trị các số trong mảng.
Ví dụ:
input: 4 4 3 3 2 output: 3 2 1 3 2 4 1
Bạn chưa đăng nhập? Đăng nhập để Submit ngay!
7 Comments
Add a Comment
Bạn phải đăng nhập để gửi phản hồi.
cho em xin gợi ý được không ?
Bài này bạn có thể dùng mảng để đánh dấu nhé.
sao e chay trên máy tính thì dc nhưng khi vào đây chỉ đúng dc 2 cái nhỉ. các th còn lại e thử trên máy em vẫn ra kq đúng
Bạn so sánh output của bạn với output của hệ thống để biết sai ở đâu nhé!
mk chạy trên máy thì out put của mk vẫn đúng , mk thử như máy ấy nhưng cho vào đây nó lại sai
.
ô hoom qua test ko dc , hôm nay lại dc mà code như cũ
#include
void Input(int a[], int b){
for(int i=0;i1000||a[i]<0);
}
}
void Com(int x[],int z[], int y){
int min=x[0];
int n;
int static a=-1;
for(int i=0;i=x[i]){
min=x[i];
n=i;
}
}
a++;
z[a]=min;
if(y-1==0){
return;
}
for(int X=n;X<y;X++){
x[X]=x[X+1];
}
Com(x, z, y-1);
}
void Last(int X[], int Y){
int z;
int static n=0;
int static Z=0;
for(int i=0;i<Y;i+=z){
z=0;
for(int j=0;j100);
int e=n;
int mang[n];
int X[e];
Input(mang, n);
Com(mang, X, n);
Last(X, e);
}