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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 17:39   #1
Angriff
Пользователь
 
Регистрация: 28.02.2010
Сообщений: 14
По умолчанию Завтра сдавать,а я ума не приложу, в чем дело (c++)

Доброго времени суток... у меня совершенно не понятная для меня проблема... причем проблема не в написании кода, а в том как запустить програмку...
дело вот в чем ... пишу в VS2008 на Visual C++... пишу консольное приложение ...(отправить нужно рабочий exe-шник) в качестве аргумента на вход программе подается полный адрес txt файла с квадратной матрицей типа
Код:
12    14     8
32     -      4
12     9      20
(могут быть прочерки в матрице)...
так вот мне нужно эту матрицу считать и произвести с ней определенные операции(какие именно не важно). проблема вот в чем...когда я компилирую код под VS2008 и запускаю(предварительно естественно указав адрес файла) програмку, то все нормально проходит...
а если я запускаю эту програмку из командной строки, то появляется отладчик вижуал студии и говорит что "произошло необработанное исключение win32 произошло в ..." (а у друга выскакивает сообщение типа "Debug Assertion Failed")...
так вот что делать??? ПОМОГИТЕ.... В ЧЕМ ДЕЛО НЕ ПОЙМУ...

вот код:
Код:
//main.cpp

#include "matrix.h"

int main(int argc, char * argv[])
{
	if (argc != 2){
		std::cout << "Wrong arguments\n" ;
		return 0;
	}
	cout << "First matrix "<<endl;
	matrix A = new matrix(argv[1]);
	cout<<"this string isn't print"<<endl;
           return 1;
}
Код:
//matrix.h

#include <iostream>
#include <cstdlib>
#include <vector>
#include <fstream>

using namespace std;

typedef struct{
	int value;
	int index;
}elem;

class matrix {
	int n;
	int _i, _j, ii, jj;
	(vector<elem>) ** ptr;
public:
	matrix(const char * a);
	~matrix(){};
};
Код:
//matrix.h

#include <iostream>
#include <fstream>
#include "matrix.h"

matrix::matrix(const char * a){
	vector<elem> *pt;
	char  str[100];
	n = 0;
	_i = 0;
	_j = 0;
	elem element;
	int num,i,k;
	//подсчет строк
	ifstream in1;
	in1.open(a);
	while(in1.getline(str,99) != NULL){
		n++;
	}
	in1.close();
	cout<< n<<endl;
	ptr = new (vector<elem>*);

	//считывание матрицы
	ifstream in;
	cout<< "before open"<<endl;
	in.open(a);
	cout<< "after open"<<endl;
	for (i = 0; i < n; i++ ){
		pt = new (vector<elem>);
		for(k = 0;k < n; k++){
			in >> str;
			if ((num = atoi(str)) == 0){
				num = -1;
			}
			element.index = 0;
			element.value = num;
			pt->push_back(element);
		}
		element.index = 0;
		element.value = i;
		pt->push_back(element);
		*(ptr+i) = pt;
	}
	*(ptr+n) = new (vector<elem>);
	for (i = 0; i < n+1; i++){
		element.value = i;
		element.index = 0;
		(*(ptr+n))->push_back(element);
	}
	cout<< "end"<<endl;
	in.close();
	cout<< "after close"<<endl;
}
Вроде все ...(у меня программа больше значительно, но проблема именно со считыванием матрицы(точнее с запуском из консоли) )

кстати, сообщениt "before close" выводится, а сообщение "this string isn't print" нет

ПОМОГИТЕ ПЛЗ... заранее спасибо
Angriff вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы завтра сдавать пожалуйсти Arei17 Фриланс 10 19.02.2010 19:26
Помогите((( Завтра сдавать!!!(( ApXoH Паскаль, Turbo Pascal, PascalABC.NET 5 05.05.2009 23:35
Помогите! Мне завтра сдавать!!! Loren Помощь студентам 1 24.02.2009 15:49
помогите срочно завтра сдавать... Defer Помощь студентам 2 25.01.2009 20:01