Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Quentyn
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 30
#1

Не могу найти причину ошибки !

01.11.2015, 19:10. Просмотров 172. Ответов 3
Метки нет (Все метки)

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include<locale.h>
#include<stdio.h>
#include<iostream>
#include<time.h>
#include<algorithm>
#include<vector>
using namespace std;
 
void block_search_ord(int*, int, int);
void BinarniySearch(int*, int, int);
int l=0;
int main()
{
    for (;;)
    {
        setlocale(LC_ALL, "rus");
        int mass[1000], a, b, x, size, n;
        printf("Введите размерность массива: ");
        scanf_s("%d", &size);
        printf("Введите диапазон чисел массива от a до b (0 - 1000): ");
        scanf_s("%d%d", &a, &b);
        printf("Сгенерированный массив: ");
        srand(time(NULL));
        for (short i = 0; i < size; i++)//заполнение массива случайными числами
        {
            mass[i] = a + rand() % (b - a);
            cout << mass[i] << " ";
        }
        for (int j = 0; j < size - 1; j++)
        {
            for (int i = 0; i < size - 1; i++)
            {
                if (mass[i] > mass[i + 1])
                {
                    a = mass[i];
                    mass[i] = mass[i + 1];
                    mass[i + 1] = a;
                }
            }
        }
        cout << "\nУпорядоченный массив: ";
        for (short i = 0; i < size; i++)
        {
            cout << mass[i]<<" ";
        }
        cout << endl;
        printf("\nВведите искомый элемент: ");
        cin >> x;
        printf("Выберите алгоритм поиска: \n1 - m-блочный поиск\n2 - Бинарный поиск\n3 - поиск с помощью встроенных функций С++: ");
        scanf_s("%d", &n);
        if (n == 1)
        {
 
            block_search_ord(mass, size, x);//m-блочный поиск
        }
        else if (n == 2)
        {
            barrier(mass, size, x);//Бинарный поиск
        }
        else if (n == 3)//поиск с помощью встроенной функции find()
        {
            vector<int> v(mass, mass + size);
            int i = find(v.begin(), v.end(), x) - v.begin();
            if (i < size)
                cout << "Элемент " << x << " находится под индексом: " << i << endl;
            else  cout << "Элемент " << a << " не найден в данном массиве " << endl;
        }
    }
    return 0;
}
 
void block_search_ord(int* arr, int n, int a)
{
    int i = 0, m=0, l, sr = 0;
    m=n/sqrt(n);
 
    for (short i = m-1; i < n;)
    {
        l=i;
        sr++;
        if(a<arr[i]){
            l= i - (m+1);
            break;
        }
        else if(a==arr[i])
        {
        cout << "Элемент "<<a<<" находится под индексом: " << i<<endl
        << "Количество сравнений = "<< sr+1<< endl;
 
        }
        i=i+m;
 
    }
    int c=l+m;
    for(l;l<c;l++)
    { 
        sr++;
        if (l > (n - 1))
                {
                    cout << "Элемент " << a << " не найден в данном массиве "<<endl;
                    break;
                }
        if(a==arr[l])
        {
        break;
        }
    }
    
        if (l<(n-1)) cout << "Элемент "<<a<<" находится под индексом: " << l<<endl
        << "Количество сравнений = "<< sr+1<< endl; 
}
 
 
void barrier(int *Arr, int size, int key)
{
 setlocale(LC_ALL,"Russian");
 int j = 0; 
 int counter = 0;
 Arr[size] = key;
 while(true)
 {
  counter++;
  if(Arr[j] == key)
  {
   break;
  }
  j++;
 }
 if (j>=size)
 {
  cout <<"Нет ключа! " << key << "\nСравнений:" << counter << endl;
  cout << "--------------------" << endl;
 }
 else
 {
  cout <<"Ключ найден! " << key << "\nСравнений:" << counter << endl;
  cout << "--------------------" << endl;
 }
}
Компилятор выдаёт ошибку (error C3861: barrier: идентификатор не найден), не могу найти причину, хелп плз !!!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2015, 19:10
Ответы с готовыми решениями:

Не могу осознать причину ошибки
Ну, в общем, читаю, такой, Страуструпа и прогаю малеху его примеры. Вот...

Не могу понять причину ошибки (связано с выделением динамической памяти под двумерный массив и ее удаление)
Я студент 1 курса , и выполняя задание столкнулся с проблемой. Вот само...

Найти причину возникновения ошибки
Выбрасывает здесь ошибку (if (Mart&gt;Max)) не знаю почему #include&lt;stdio.h&gt;...

не работает функция, не могу найти причину
Всех с праздником! Задача: Необходимо написать программу состоящую из...

HEAP CORRUPTION DETECTED не могу найти причину
вот фрагмент кода int size; char *TempChar; MyStream.read((char*)&amp;size,...

3
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
01.11.2015, 19:15 #2
Цитата Сообщение от Quentyn Посмотреть сообщение
barrier(mass, size, x);//Бинарный поиск
перемести реализацию этой функции над функцией мейн
0
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
01.11.2015, 19:16 #3
Цитата Сообщение от Quentyn Посмотреть сообщение
void BinarniySearch(int*, int, int);
Цитата Сообщение от Quentyn Посмотреть сообщение
void barrier(int *Arr, int size, int key)
и еще там не бинарный а линейный поиск
0
Quentyn
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 30
01.11.2015, 19:21  [ТС] #4
Спасибо, видно совсем мозг потёк )) если я такого не заметил
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2015, 19:21

Не могу найти причину, по которой компилятор выдает ошибку
Здравствуйте! проблемы с этой задачей, учусь на первом курсе систем...

Инициализация поля класса (строки в стиле Си): найти причину возникновения ошибки и исправить эту ошибку
Начинаю учить C++ и хочу сделать что-то типо &quot;игры&quot; в текстовом варианте. ...

Найти причину ошибки "fatal error LNK1120: неразрешенных внешних элементов: 1"
Добрый день, код по условию задачи выбивает ошибку &quot; fatal error LNK1120:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru