Форум программистов, компьютерный форум CyberForum.ru

Интерполяционный поиск - C++

Восстановить пароль Регистрация
 
Жека_96
0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 2
22.06.2014, 14:51     Интерполяционный поиск #1
Через два дня экзамен и нужно прогу сдать. Помогите пожалуйста.
Вот функция. Она должна работать так: создаёт большой массив, затем берёт сначала первые 50 элементов, и вычисляет оценку эффективности(число сравнений) и записывает в массив эту оценку, чтобы далее построить график, затем берёт 100,150 и т.д. элементов. Ошибка "Project Project1.exe raised exception class EAcceessViolation with message 'Access violation at address 00403195 in module 'Project1.exe'. Read of address 00187020'. Process stopped. Use Step or Run to continue." на строке 22. Заранее спасибо, буду благодарен

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
void Sort::func()
{int sr=0, i, j, m, K, nn=1000, p[1000], L, R,N;
  lsd = new int[10];
  krk = new int[10];
  float w;
   randomize();
   p[0] = 1;
  for(int i=1; i<nn; i++)
    p[i]=p[i-1] + random(20) + 1;
  N=0;
  for(j=1;j<nn;j++)
  {N=N+50;
  krk[j-1]=N;
  for(m=0; m<N; m++) // Поиск всех ключей
  {  sr++;
     K=p[m]; // искомый ключ
     L=0; R=N-1;
   while( R >= L )
        { sr++;
          if(p[L]==p[R]) break;
          i = L + (((R - L)*(K - p[L])) / (p[R] - p[L]));
          if( K < p[i] ) R = i - 1;
      else if( K > p[i] ) L=i+1;
        else break;
        }
  }
K= sr/nn;
  lsd[j-1]=K;
    }
}
Добавлено через 2 часа 35 минут
Помогите пожалуйста, очень надо! Если всё заработает, то отблагодарю денежно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 14:51     Интерполяционный поиск
Посмотрите здесь:

C++ Бинарный и интерполяционный поиск
C++ Интерполяционный полином Лагранжа
C++ интерполяционный многочлен Лагранжа
C++ Построить интерполяционный многочлен и интерполяционный сплайн
Интерполяционный поиск C++
C++ Интерполяционный поиск
C++ Интерполяционный следящий поиск
Дихотомия и интерполяционный поиск по отсортированному массиву C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,181
Завершенные тесты: 1
22.06.2014, 16:42     Интерполяционный поиск #2
Цитата Сообщение от Жека_96 Посмотреть сообщение
for(j=1;j<nn;j++)
{
N=N+50;
krk[j-1]=N;
krk у Вас длиной 10, а nn равно 1000.
Аналогично и lsd
Жека_96
0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 2
29.06.2014, 14:05  [ТС]     Интерполяционный поиск #3
Не помогло, препод сам не смог найти ошибку и простил:-)
Yandex
Объявления
29.06.2014, 14:05     Интерполяционный поиск
Ответ Создать тему
Опции темы

Текущее время: 17:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru