Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 7

Подскажите в чем ошибка! (бинарный поиск)

17.12.2012, 20:58. Показов 716. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача на тему "рекурсивные алгоритмы", а точнее - бинарный поиск.
Работаю в Embarcadero Rad Studio 2010.
'Access violation' после ввода данных.
Ругается на строку:

C++
1
cout<<setw(7)<<m[i]->nogr<<setw(10)<<m[i]->star<<setw(12)<<m[i]->kolst<<endl;
Вот сам код задачи:

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
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <tchar.h>
#pragma argsused
 
struct grupp
{
 int nogr;
 char star[7];
 int kolst;
};
 
void inp();
void out();
int bins(int x,int l,int r);
 
int _tmain(int argc, _TCHAR* argv[])
{
 int i;
 grupp *m[7];
 
 inp();
 out();
 cout<<"Rezultal binarnogo poiska inf-tsii o gruppe po ee No:"<<endl;
 i=bins(5,1,7);
  cout<<setw(7)<<m[i]->nogr<<setw(10)<<m[i]->star<<setw(12)<<m[i]->kolst<<endl;
 
    getch();
    return 0;
}
 
void inp()
{
 grupp *m[7];
 int i;
 for(i=0;i<7;i++)
 {
  m[i]=new grupp;
  cout<<"Vvedite dannie gruppi No "<<i+1<<":"<<endl;
  m[i]->nogr=i+1;
  cout<<"Starosta: ";
  cin>>m[i]->star;
  cout<<"Kol-vo studentov: ";
  cin>>m[i]->kolst;
 }
}
 
void out()
{
 clrscr;
 grupp *m[7];
 int i;
 cout<<setw(7)<<"No gr."<<setw(10)<<"Starosta"<<setw(12)<<"Kol. stud."<<endl;
 for(i=0;i<7;i++)
  cout<<setw(7)<<m[i]->nogr<<setw(10)<<m[i]->star<<setw(12)<<m[i]->kolst<<endl;
}
 
int bins(int x,int l,int r)
{
 grupp *m[7];
 int mid=(l+r)/2;
 if(l>r) return -1;
 if(x==m[mid]->nogr) return mid;
 if(x>m[mid]->nogr) return bins(x,mid+1,r);
  else return bins(x,l,mid-1);
}
Добавлено через 12 минут
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2012, 20:58
Ответы с готовыми решениями:

Бинарный поиск, ошибка C2100: недопустимое косвенное обращение
Вот значит код, бинарный поиск элементов динамического целочисленного массива. #include &lt;iostream&gt; #include &lt;vector&gt; ...

Бинарный поиск (дихотомия). Эксперимент расходится с теорией. Где ошибка?
Есть два файла. Первый считает число ходов по угадыванию случайного числа из массива разной длины. Второй строит график среднего числа...

Ошибка "Stack around the variable 'text' was corrupted"
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include &lt;iostream&gt; ...

6
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
17.12.2012, 21:08
Цитата Сообщение от Rhythm Посмотреть сообщение
m[i]->star
проверял что лежит?
может лучше string использовать?
0
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
17.12.2012, 21:10
может так?
C++
1
cout<<setw(7)<<m[i].nogr<<setw(10)<<m[i].star<<setw(12)<<m[i].kolst<<endl;
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
17.12.2012, 21:12
Цитата Сообщение от Rhythm Посмотреть сообщение
grupp *m[7];
создал семь указателей на grupp
а память то где выделил?

Добавлено через 1 минуту
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
<<m[i].nogr
с какого перепугу
посмотри он везде с указателями работает
только память не выделяет
2
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 7
17.12.2012, 21:37  [ТС]
Исправьте, пожалуйста, программу. Все равно не могу сообразить.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
17.12.2012, 21:55
Цитата Сообщение от Rhythm Посмотреть сообщение
Исправьте, пожалуйста, программу.
в смысле переписать заново?
во фриланс
Цитата Сообщение от Rhythm Посмотреть сообщение
grupp *m[7];
вот это что такое ?
что ты этим хотел сказать?
почему ты это напихал в каждую функцию?
0
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 7
17.12.2012, 22:08  [ТС]
ValeryS, спасибо, разобрался, выделил динамическую память для *m глобально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.12.2012, 22:08
Помогаю со студенческими работами здесь

Подскажите в чем ошибка?
Новичок в этом деле и делал по образцу. Видимо что-то сделал не так. после второго выбора не возвращает %user% @Echo off setlocal...

Подскажите в чем ошибка
Есть код: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int main() { vector&lt;int&gt;vec; vector&lt;int&gt;::iterator...

Подскажите,в чем ошибка
Помогите пожалуйста,не пойму ошибку!Если не трудно то исправьте меня! Дан массив, содержащий от 1 до k символов, за которым следует...

в чем ошибка? подскажите
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB,...

Подскажите в чём ошибка?
На строке b:=1/a; выдаёт ошибку &quot;Project1.exe вызвал исключение класса.....&quot; вот код с процедурой: unit Unit5; interface ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru