Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2012, 23:58   #1
FantaC
 
Регистрация: 23.02.2012
Сообщений: 4
По умолчанию Ошибка доступа к памяти

Здравствуйте, помогите пожалуйста понять, почему выскакивает ошибка памяти
Код:
#include <iostream>
using namespace std;
const int inf = 10000000;
int main()
{
	int n, m, v1, v2, sourse, finish, dl, min;
	cin>>n>>m>>v1>>v2;
	int ** graf = new int *[n];
	for(int i = 0; i < n; i++)
		graf[i] = new int [n];
	int *d=  new int[n];
	bool *used = new bool [n];
	for(int i = 0; i < n; i++)
		used[i]= 0;
	for(int i = 0; i < n; i++)
		d[i] = inf;
	for(int i = 0; i < n; i++)
		for(int j = 0; j < n; j++)
			graf[i][j]= inf;
	for(int i = 0; i < m; i++)
	{
		cin>>sourse>>finish>>dl;
		graf[sourse][finish]= dl;  - вот в этой строке
	}

Последний раз редактировалось ACE Valery; 24.02.2012 в 02:09.
FantaC вне форума Ответить с цитированием
Старый 24.02.2012, 00:00   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

видимо выходите за рамки массива, не забываете что индексация с нуля?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.02.2012, 00:08   #3
FantaC
 
Регистрация: 23.02.2012
Сообщений: 4
По умолчанию

Действительно, давно такого не было))
Но ведь массив динамический.
FantaC вне форума Ответить с цитированием
Старый 24.02.2012, 00:11   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

и что с того что он динамический?
индексация все равно с нуля.

какие вы ввели n и m, и какие потом вводите source и finish?(кстати а можно и проверять значения чтоб входили в массив 100%)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.02.2012, 00:14   #5
FantaC
 
Регистрация: 23.02.2012
Сообщений: 4
По умолчанию

n=2, m=1
source = 2
finish = 1

ну тут явный выход)))спасибо)
FantaC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка доступа к памяти Dmitry333 Компоненты Delphi 12 30.03.2011 15:27
Ошибка доступа при выделении памяти в чужом процессе Neoteric Общие вопросы Delphi 21 06.12.2010 16:50
Ошибка доступа памяти, при работе с принятой строкой. Zeraim Работа с сетью в Delphi 11 26.01.2010 01:11
Ошибка доступа к памяти AzoTik Общие вопросы Delphi 6 22.01.2010 10:17
Ошибка: Нарушение доступа к памяти. VladimirAleks Общие вопросы Delphi 6 03.11.2009 14:42