Facebook
From ja, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 288
  1. void srednia(list *& H)
  2. {
  3.     list *p = H;
  4.     list *la=H;
  5.     int suma;
  6.     suma = 0;
  7.     while (p->next)
  8.     {
  9.         suma = suma + (p->value);
  10.         p = p->next;
  11.         la = p;
  12.     }
  13.     int N = count(H);
  14.     double srednia = suma / N;
  15.     list *tmp = la;
  16.     list *pre = p;
  17.     p = H;
  18.  
  19.     do
  20.     {
  21.         if ((H->value) > srednia)
  22.         {
  23.             H = H->next;
  24.             (tmp->next)=p;
  25.             (p->next) = NULL;
  26.             tmp = p;
  27.             p = H;
  28.  
  29.         }
  30.         else
  31.         {
  32.             if ((p->value) > srednia)
  33.             {
  34.                 (pre->next) = (p->next);
  35.                 (tmp->next) = p;
  36.                 (p->next) = NULL;
  37.                 tmp = p;
  38.                 p = pre->next;
  39.  
  40.             }
  41.             else
  42.             {
  43.                 pre = p;
  44.                 p = p->next;
  45.             }
  46.            
  47.         }
  48.     } while (p != la);
  49. }