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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2011, 23:47   #1
SkyArcher
Новичок
Джуниор
 
Регистрация: 20.02.2011
Сообщений: 2
По умолчанию Граф и файл

Здравствуйте. Написал такую вот прогрмку, но выдает Необработанное исключение в "0x57e9e42e (msvcr100d.dll)" в "prog.exe": 0xC0000005: Нарушение прав доступа при записи "0xfdfdfdfd". Подскажите что не так? Писалось в Visual Studio 2010.

Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;

char file[]="C:\\GRAPH.txt";

void createmat(int **&A,int k)
{
	int a,b,c,l;
	for(l=0;l<k;l++)
	{
		cout<<"Введите вершины и вес ребра между ними: ";
		cin>>a>>b>>c;
		A[a-1][b-1]=c;
		A[b-1][a-1]=c;
	}
}

void matinfile(FILE *f,int **&A,int m)
{
	int i,j;
	f=fopen("C:\\GRAPH.txt","at");
    if (f==NULL) 
	{
        perror("Не могу открыть файл на чтение");
    }
    fprintf(f,"%d",m);
    fprintf(f,"%c",'\n');
    for (i=0;i<m;i++)
	{
		for (j=0;j<m;j++)
			fprintf(f,"%d",A[i][j]);
		fprintf(f,"%c",'\n');
    }
    fclose(f);
    return;
}

void matfromfile(FILE *f,int **&A)
{
	int i,j;
    f=fopen("C:\\GRAPH.txt","rt");
    if (f==NULL) 
	{
        perror("Не могу открыть файл на чтение");
    }
    fscanf(f,"%d",&A[0][0]);
    for (i=0;i<A[0][0];i++)
	{
		for (j=0;j<A[0][0];j++)
			fscanf(f,"%d",&A[i+1][j]);
	}
    fclose(f);
}


int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL,".1251");
	int **A,**AF,m,i,j,k;
	FILE *f=0;
	cout<<"Введите количество вершин графа: ";
	cin>>m;
	A=(int**)calloc(m,sizeof(int*));
	for(j=0;j<m;j++) 
		A[j]=(int*)calloc(m,sizeof(int));
	AF=(int**)calloc(m,sizeof(int*));
	for(j=0;j<m;j++) 
		AF[j]=(int*)calloc(m,sizeof(int));
	for(i=0;i<m;i++)
	{
		for(j=0;j<m;j++) 
		{
			A[i][j]=0;
			AF[i][j]=0;
		}
	}
	cout<<"Введите количество ребер: ";
	cin>>k;
	createmat(A,k);
	for(i=0;i<m;i++)
	{
		for(j=0;j<m;j++)
			cout<<A[i][j];
		cout<<"\n";
	}
	_getch();
	matinfile(f,A,m);
	matfromfile(f,AF);
	cout<<"\n";
	for(i=0;i<m;i++)
	{
		for(j=0;j<m;j++)
			cout<<AF[i+1][j];
		cout<<"\n";
	}
	_getch();
	return 0;
}
SkyArcher вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
граф dzuga Помощь студентам 1 08.06.2010 15:57
граф в Паскале bakir Помощь студентам 0 29.05.2010 15:04
Ориентированный граф LENA_M HTML и CSS 0 01.11.2009 00:46
Граф. режим в С Rybik Общие вопросы C/C++ 17 21.06.2009 01:53
Граф в паскале LLIypLLIyH Помощь студентам 10 16.06.2008 14:09