Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- typedef struct {
- int v;
- int br;
- }broj;
- int *sort(int * niz, int n) {
- int i,j,temp,ct=1,k=0;
- broj *val;
- for (i=0;i<n-1;i++)
- for (j = i; j < n; j++)
- if (niz[i] < niz[j]) {
- temp = niz[i];
- niz[i] = niz[j];
- niz[j] = temp;}
- for (i = 0; i < n - 1; i++) {
- if (niz[i] != niz[i + 1])
- ct++;
- }
- val = (broj*)malloc(sizeof(broj)*ct);
- for (j = 0; j < ct; j++) {
- for (i = 0; i < n - 1; i++) {
- if (niz[i] != niz[i + 1]);
- val[j].v = niz[i];
- val[j].br = i + 1 - k;
- k = 0;
- }
- }
- broj temp1;
- for (i = 0; i < ct; i++)
- for (j = i; j < ct; j++)
- if (val[i].br < val[j].br) {
- temp1 = val[i];
- val[i] = val[j];
- val[j] = temp1;
- }
- j = 0;
- for (i = 0; i < n - 1; i++) {
- if (val[j].br = 0) j++;
- niz[i] = val[j].v;
- val[j].br--;
- }
- free(val);
- /*ct = 0;
- max = 0;
- for (i = 0; i < n; i++) {
- if (niz[i] == niz[i + 1]) {
- ct++;
- }
- else {
- if (ct > max) max = ct;
- maxint = niz[i];
- ct = 0;
- }
- }*/
- }
- void main() {
- int i,n,*niz;
- scanf("%d", &n);
- niz = (int*)calloc(sizeof(int),n);
- if (!niz) exit(1);
- for (i = 0; i < n; i++) {
- scanf("%d", niz[i]);
- if (niz[i] < 1) i--;
- }
- niz = sort(niz, n);
- for (i = 0; i < n; i++) {
- printf("%d", niz[i]);
- }
- free(niz);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement