#include <QtCore/QCoreApplication>
#include <iostream>
#include <vector>
#include "IO.cpp"
#include "struct.cpp"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
GRAPH G;
IO<GRAPH>::scan(G);
return 1;
}
Ошибка памяти !!
Код:
Код:
//#include "struct.h"
#include <vector>
#include <iostream.h>
class GRAPH {
std::vector < std::vector <int> > War; //
public:
void EdgeCreate (int v, int w , int We)
{
War[v][w]=We;
cout<<endl<<"creating done!" <<v <<" - "<<w<<" "<<We<<endl;
}
};
#include <vector>
#include <iostream.h>
class GRAPH {
std::vector < std::vector <int> > War; //
public:
void EdgeCreate (int v, int w , int We)
{
War[v][w]=We;
cout<<endl<<"creating done!" <<v <<" - "<<w<<" "<<We<<endl;
}
};
Код:
//#include "IO.h"
#include <vector>
#include <iostream.h>
template <class GRAPH>
class IO {
public:
static void IO<GRAPH>::scan( GRAPH &G)
{
int N,CONvert,EWeight,i;
cout << "type in number of verts"<< endl;
cin>>N;
for (i=1; i<N ; i++)
{
while(1)
{
cout << "Assign vert."<<i<<endl;
cout << "connect to vert... (0 to finish)"<<endl;
cin>>CONvert;
if (CONvert==0)
break;
cout<< "Assign weight of edge"<<i<<"-"<<CONvert<<endl;
cin>>EWeight;
cout<<"reded"<<endl;
G.EdgeCreate (i,CONvert,EWeight);
cout<<" Edge "<<i<<"-"<<CONvert<<" created."<<endl;
}
}
}
};
#include <vector>
#include <iostream.h>
template <class GRAPH>
class IO {
public:
static void IO<GRAPH>::scan( GRAPH &G)
{
int N,CONvert,EWeight,i;
cout << "type in number of verts"<< endl;
cin>>N;
for (i=1; i<N ; i++)
{
while(1)
{
cout << "Assign vert."<<i<<endl;
cout << "connect to vert... (0 to finish)"<<endl;
cin>>CONvert;
if (CONvert==0)
break;
cout<< "Assign weight of edge"<<i<<"-"<<CONvert<<endl;
cin>>EWeight;
cout<<"reded"<<endl;
G.EdgeCreate (i,CONvert,EWeight);
cout<<" Edge "<<i<<"-"<<CONvert<<" created."<<endl;
}
}
}
};
при вызове функции G.EdgeCreate(int, int, int) возникает ошибка памяти
инструкция по адресу такому то обратилась туда то....
функция осуществляет заполение данными таблицы War - в алемент War[w][v] заносится переменная We . Вот здесь как мне кажется и имеет место ошибка, но почему?
среда QTcreator
2ой - struct.cpp
3bq - IO.cpp
Код:
using namespace std;
vector<vector<int> > War;
War.resize(3);
for (int i = 0; i < 3; i++) {
War.resize(5):
for (int j = 0; j < 5; j++)
War[j] = i + j;
}
vector<vector<int> > War;
War.resize(3);
for (int i = 0; i < 3; i++) {
War.resize(5):
for (int j = 0; j < 5; j++)
War[j] = i + j;
}
Спасибо большое!