Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.30 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. typedef struct {
  4.     int v;
  5.     int br;
  6. }broj;
  7.  
  8. int *sort(int * niz, int n) {
  9.     int i,j,temp,ct=1,k=0;
  10.     broj *val;
  11.     for (i=0;i<n-1;i++)
  12.         for (j = i; j < n; j++)
  13.             if (niz[i] < niz[j]) {
  14.                 temp = niz[i];
  15.                 niz[i] = niz[j];
  16.                 niz[j] = temp;}
  17.     for (i = 0; i < n - 1; i++) {
  18.         if (niz[i] != niz[i + 1])
  19.             ct++;
  20.     }
  21.     val = (broj*)malloc(sizeof(broj)*ct);
  22.     for (j = 0; j < ct; j++) {
  23.         for (i = 0; i < n - 1; i++) {
  24.             if (niz[i] != niz[i + 1]);
  25.             val[j].v = niz[i];
  26.             val[j].br = i + 1 - k;
  27.             k = 0;
  28.         }
  29.     }
  30.     broj temp1;
  31.     for (i = 0; i < ct; i++)
  32.         for (j = i; j < ct; j++)
  33.             if (val[i].br < val[j].br) {
  34.             temp1 = val[i];
  35.             val[i] = val[j];
  36.             val[j] = temp1;
  37.         }
  38.          
  39.     j = 0;
  40.     for (i = 0; i < n - 1; i++) {
  41.         if (val[j].br = 0) j++;
  42.         niz[i] = val[j].v;
  43.         val[j].br--;
  44.     }
  45.     free(val);
  46.     /*ct = 0;
  47.     max = 0;
  48.     for (i = 0; i < n; i++) {
  49.  
  50.         if (niz[i] == niz[i + 1]) {
  51.             ct++;
  52.         }
  53.         else {
  54.             if (ct > max) max = ct;
  55.             maxint = niz[i];
  56.             ct = 0;
  57.         }
  58.         }*/
  59.  
  60. }
  61.  
  62.  
  63. void main() {
  64.     int i,n,*niz;
  65.     scanf("%d", &n);
  66.     niz = (int*)calloc(sizeof(int),n);
  67.     if (!niz) exit(1);
  68.     for (i = 0; i < n; i++) {
  69.         scanf("%d", niz[i]);
  70.         if (niz[i] < 1) i--;
  71.     }
  72.     niz = sort(niz, n);
  73.     for (i = 0; i < n; i++) {
  74.         printf("%d", niz[i]);
  75.     }
  76.     free(niz);
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement