SaveText.Ru

Без имени
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3.  
  4.  
  5. int main()
  6. {
  7.         int n, k, r = 0, s, q = 0, p = 0;
  8.         int arr[100] = { 0 };
  9.         scanf("%d%d", &n, &k);
  10.  
  11.         for (int i = 0; i < n; i++)
  12.         {
  13.                 scanf("%d ", &arr[i]);
  14.         }
  15.         printf("Initial array:");
  16.         printf("n");
  17.         for (int i = 0; i < n; i++)
  18.         {
  19.                 printf("%d ", arr[i]);
  20.         }
  21.         printf("n");
  22.         printf("Target element: %dn", k);
  23.         printf("Search history: ");
  24.         s = n / 3;
  25.         if (arr[s] == k)
  26.         {
  27.                 printf("%d(%d) ", arr[s], s);
  28.                 r = r + 1;
  29.                 p = p + 1;
  30.         }
  31.         while (!(arr[s] == k) && !(q > 0))
  32.         {
  33.                 if (!(arr[s] == k))
  34.                 {
  35.                         printf("%d(%d) ", arr[s], s);
  36.                         if (k < arr[s])
  37.                         {
  38.                                 s = s / 2;
  39.                                         if (k>arr[s+1] )
  40.                                         {
  41.                                                 printf("%d(%d) ", arr[s], s);
  42.                                                 q = q + 1;
  43.                                         }
  44.                         }
  45.                         if (k > arr[s])
  46.                         {
  47.                                 s = s * 2;
  48.                                         if (k < arr[s-1])
  49.                                         {
  50.                                                 printf("%d(%d) ", arr[s], s);
  51.                                                 q = q + 1;
  52.                                         }
  53.                         }
  54.                         if (arr[s] == k)
  55.                         {
  56.                                 r = r + 1;
  57.                         }
  58.                 }
  59.         }
  60.         if (arr[s] == k && p==0 )
  61.         {
  62.                 printf("%d(%d) ", arr[s], s);
  63.         }
  64.         if (r == 1)
  65.         {
  66.                 printf("n");
  67.                 printf("Target is found at: %d", s);
  68.         }
  69.         else
  70.         {
  71.                 printf("n");
  72.                 printf("No targets");
  73.         }
  74.  
  75.         return 0;
  76. }

Share with your friends:

Print