Реализовать программу через М-блочный поиск - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdafx.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    int A[10] = { 2, 3, 5, 7, 8, 1, 5, 7, 3, 1 };
    int B[4] = { 0, 3, 5, 7 };
 
    for (int i = 0; i < 4; i++)
    {
        int count = 0;
        for (int j = 0; j < 10; j++)
            if (B[i] == A[j]) count++;
        if (count > 1) printf("%d\n",B[i]);
    }
    return 0;
}

Решение задачи: «Реализовать программу через М-блочный поиск»

textual
Листинг программы
void block_search_ord(int a[], int n, int el)
{
     int f=1; int i=0;
     int l; int x=(int)pow(n,(1/2));
     while ((i<=n)&&(f))
       {
           i=i+x;
           if (i>n) i=n;
           int r=i;
           l=i-3;
           if (el<a[i])
              {
                while ((l<=r)&&(el!=a[l]))
                  l++;
                f=0;
                if (el==a[l]) printf("this element on %i position", i);
                else printf("there is no such element");
                }
           }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы