3 / 4 / 1
Регистрация: 05.01.2015
Сообщений: 465
1

Блочный поиск

29.04.2016, 19:11. Показов 2855. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как программно реализовать алгоритм блочного поиска?

Добавлено через 1 час 17 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<stdio.h>
void main()
{
    int i, a[100], b[100], j, s = 0, k, x, z;
    int t;
 
    for (i = 0; i < 100; i++)
        a[i] = 0, b[i] = 0;
 
    // Ввод массива (упорядоченного!)
    for (i = 0;; i++)   
    {
        printf("Enter A:");
        scanf("%d", &a[i]);
        if (a[i] == -1)
            break;
    }
 
    // Ввод длинн подмассивов
    for (j = 0;; j++)   
    {
        printf("Enter LEN");
        scanf("%d", &b[j]);
        if ((s += b[j]) >= i)
            break;
    }
 
    printf("Find:");
    scanf("%d", &x);
 
    j = 0;
    // printf("%d  %d  %d\n", k, a[k], b[j-1]);
    for (k = b[j++] - 1; (a[k] < x) && (k <= i); k += b[j++]) ; 
    if (k > i) {
        printf("Error");
        return;
    }
    for (z = k - b[j - 1]; (z <= k); z++) {
        if (a[z] == x) {
            printf("Number:%d\n", z);
            break;
        }
    }
    if (z >= k)
        printf("Not found\n");
}
Или помогите перевести с++ на delphi, а то я тут не все понимаю, как перевести.. Пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2016, 19:11
Ответы с готовыми решениями:

Блочный шифр
Добрый день. в программе выполняется одна функция - суммирование, подскажите, пожалуйста, каким...

Блочный поиск в массиве Delphi
Помогите сделать, ничего не получается, очень нужно. Нужно осуществить блочный поиск элемента в...

Реализовать программу через М-блочный поиск
#include &lt;stdafx.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; int main() { ...

Организовать поиск книги по коду, используя М-блочный метод
Дан массив записей, каждый из которых содержит информацию: код книги, автор, название книги,...

2
3 / 4 / 1
Регистрация: 05.01.2015
Сообщений: 465
30.04.2016, 21:24  [ТС] 2
Никто не сможет перевести? не понимаю циклы
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
30.04.2016, 23:48 3
Лучший ответ Сообщение было отмечено manchester_alan как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var
   i, j, s, k, x, z, t: integer;
   a, b: array [0..99] of integer;
    
begin    
   s := 0;
   for i := 0 to 99 do
   begin
        a[i] := 0; b[i] := 0;
   end;
 
    // Ввод массива (упорядоченного!)
   i := -1; 
   repeat
      inc(i);
      write('Enter A:');
      readln(a[i]);
   until a[i] = -1;
            
    // Ввод длинн подмассивов
   j := -1; 
   repeat   
      inc(j); 
      write('Enter LEN ');
      readln(b[j]);
      s := s + b[j];
   until s >= i;
            
   write('Find: ');
   readln(x);
 
   j := 0;
   // writeln(k, '   ', a[k], '   ',b[j-1]);
   k := b[0] - 1;
   while (a[k] < x) and (k <= i) do
   begin 
      inc(j);
      k := k + b[j] ;      
   end; 
    
   if k > i then
   begin
       writeln('Error');
       exit;
   end;
 
   for z := k - b[j - 1] to  k do
       if (a[z] = x) then
       begin
           writeln('Number: ', z);
           break;
       end;
        
    
    if z >= k then
        writeln('Not found');
end.
Компилировать код не пробовал.
1
30.04.2016, 23:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2016, 23:48
Помогаю со студенческими работами здесь

Блочный отчет
Приветствую! Подскажите пожалуйста как реализовать: Есть форма с набором вкладок. В каждой...

Блочный контент
Всем привет , как можно примерно сделать,чтобы контент был блоками как на большинстве блогов Это...

Блочный шифр
Здорова всем. Помогите пожалуйста реализовать блочный шифр TEA. Пример шифра здесь:...

Блочный элемент
&lt;div style='float:left;'&gt;asdasdasdasdasasdsad&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru