Advertisement
lukasd

kolokwium 3 zadanie 2

Feb 10th, 2018
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.08 KB | None | 0 0
  1. int funkc(const void*a, const void*b )
  2. {
  3.     if (*((int*)a) <(*((int*)b)))
  4.     {
  5.         return -1;
  6.     }
  7.     else if (*((int*)a) > (*((int*)b)))
  8.     {
  9.         return 1;
  10.     }
  11.     else
  12.     {
  13.         return 0;
  14.     }
  15. }
  16.  
  17. typedef enum
  18. {
  19.     A, D, E, U
  20. }Order;
  21. Order funkcj(int*arr,int rozmiar, int (*func)(const void*,const void*))
  22. {
  23.     cout << "b";
  24.     Order wynik;
  25.     if (func(&arr[0], &arr[1]) == -1)
  26.     {
  27.         wynik = A;
  28.         for (int i = 1; i < rozmiar - 1; i++)
  29.         {
  30.             if (func(&arr[i], &arr[i + 1]) == -1)
  31.             {
  32.             }
  33.             else
  34.             {
  35.                 wynik = U;
  36.                 break;
  37.             }
  38.         }
  39.     }
  40.     else if (func(&arr[0], &arr[1]) == 1)
  41.     {
  42.         wynik = D;
  43.         for (int i = 1; i < rozmiar - 1; i++)
  44.         {
  45.             if (func(&arr[i], &arr[i + 1]) == 1)
  46.             {
  47.             }
  48.             else
  49.             {
  50.                 wynik = U;
  51.                 break;
  52.             }
  53.         }
  54.     }
  55.     else if (func(&arr[0], &arr[1]) == 0)
  56.     {
  57.         wynik = E;
  58.         for (int i = 1; i < rozmiar - 1; i++)
  59.         {
  60.             if (func(&arr[i], &arr[i + 1]) == 0)
  61.             {
  62.             }
  63.             else
  64.             {
  65.                 wynik = U;
  66.                 break;
  67.             }
  68.         }
  69.     }
  70.     return wynik;
  71. }
  72.  
  73.  
  74. void kolos1()
  75. {
  76.     int arr[9] = { 3,5,7,11,34,67,78,111,456 };
  77.     printf("%d", funkcj(arr, 9, funkc));
  78.  
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement