Advertisement
hurmawe

ave_odd

Dec 18th, 2022
816
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.01 KB | None | 0 0
  1. #include <malloc.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int ave_odd(int number)
  6. {
  7.     int sum = 0 ;
  8.     int quantity = 0;
  9.     int vr;
  10.     while (number != 0)
  11.     {
  12.         vr = number % 10;
  13.         number /= 10;
  14.         if (vr % 2 != 0)
  15.         {
  16.             sum += vr;
  17.             quantity++;
  18.         }
  19.     }
  20.     if (quantity == 0) return 0;
  21.     return sum / quantity;
  22. }
  23. int main()
  24. {
  25.     int mas[] = { 132, 444, 123, 1, 0, 2356 };
  26.  
  27.     bool noSwap;
  28.  
  29.     for (int i = sizeof(mas)/sizeof(int) - 1; i >= 0; i--)
  30.     {
  31.         noSwap = 1;
  32.         for (int j = 0; j < i; j++)
  33.         {
  34.             if (ave_odd(mas[j]) > ave_odd(mas[j + 1]))
  35.             {
  36.                 int tmp = mas[j];
  37.                 mas[j] = mas[j + 1];
  38.                 mas[j + 1] = tmp;
  39.                 noSwap = 0;
  40.             }
  41.         }
  42.         if (noSwap == 1)
  43.             break;
  44.     }
  45.  
  46.     for (int i = 0; i < sizeof(mas) / sizeof(int); i++)
  47.     {
  48.         printf("%d ",mas[i]);
  49.     }
  50.     return 0;
  51.  
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement