Форум программистов, компьютерный форум CyberForum.ru

необработаное исключение ?? оО - C++

Восстановить пароль Регистрация
 
legend
 Аватар для legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
16.12.2010, 20:31     необработаное исключение ?? оО #1
ну короче воть на скрине ошибка.. вперовй такое вижу. => я не знаю че делать

Эта мини прога должна типо читать файл с матрици.. все супер.. но как только ввожу назавие файла. и жму ентер вылетает вот такое (см. скрин)

п.с. врядли ошибка в коде.. но на всякий случай

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
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <conio.h>
 
int m=0;
using namespace::std;
int** file(int &m)
{   int **arr;
    FILE* f;
    int i,j;
    char fname [80];
    cout<<"Vvedite polnoe nazvanie fayla: \n";
    gets(fname);
    f=fopen(fname,"rt");
    if(f)
    {
        while(!feof(f))
        {
            if(fgetc(f)=='\n')
                m++;
        }
        fseek(f,0,SEEK_SET);
        arr = new int * [m];
        for (i=0;i<m;i++)
        {
            arr[i]=new int [m];
        }
        for (i=0;i<m;i++)
        {
            for ( j=0;j<m;j++)
                fscanf(f,"%d",&arr[i][j]);
        }
        fclose(f);
        return arr;
    }
}
 
int outn(int **arr,int m)
    {
    int i,j;
    cout<<"na4alnaya: "<<endl;
    for(i=0; i<m; i++)
     {for(j=0; j<m; j++)
       {cout<<arr[i][j]<<"  ";}
         cout<<endl;
    }
    return **arr;
    }
 
 
int main()
{
int **arr;
arr=file(m);
outn(arr,m);
return 0;}
Миниатюры
необработаное исключение ?? оО  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2010, 20:31     необработаное исключение ?? оО
Посмотрите здесь:

C++ Необработаное исключение при выполнении gets
исключение C++
С++, отловить исключение C++
исключение в if - else - if C++
исключение C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
16.12.2010, 20:34     необработаное исключение ?? оО #2
legend, вы похоже пытаетесь записать данные в недоступную область памяти. Проверте как следует свой код, может где-то с индексацией указателей напутали или что-нибудь в этом роде.
legend
 Аватар для legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
16.12.2010, 20:50  [ТС]     необработаное исключение ?? оО #3
не.. усеравно не пашет..

п.с. в универе на вц все работало идеально..

Добавлено через 59 секунд
мне от четто кажется что виндовс блочит допуск проги к открытию файла..
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
16.12.2010, 21:05     необработаное исключение ?? оО #4
Если файл не откроется, вам вернут значение из случайной области памяти. В данном случае, в arr попался 0.
legend
 Аватар для legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
16.12.2010, 21:13  [ТС]     необработаное исключение ?? оО #5
в ошибке кликаю пункт продолжить.. переключаю на консоль.. там дошло до вывода..

а выводе пусто.. так как не пошитало мне количество строк.. тоесть не открыло файл..

.. может надо другой способ попробовать ??

п.с. в конспекте у меня только этот есть,
reich
 Аватар для reich
110 / 46 / 3
Регистрация: 03.09.2009
Сообщений: 112
16.12.2010, 21:17     необработаное исключение ?? оО #6
Цитата Сообщение от legend Посмотреть сообщение
return arr;
Передавайте указатель на массив в функцию в качестве параметра
Михн@ТЫЧ!
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 3
16.12.2010, 21:26     необработаное исключение ?? оО #7
CalcInegral K.cpp : Defines the entry point for the console application.
// Вычисление n-мерного интеграла методом Монте-Карло (случайных испытаний).
// Работа с K-мерным интегралом.

#include "stdafx.h"
#include "iostream"
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
#include "cstdlib"
#include "ctime"
#include "memory"
#include "new"
#include "exception"
#include "fstream"
#include "windows.h"
using namespace std;
class CalcIntegral;

int main( void )
{
setlocale (LC_ALL, "Russian");
SetConsoleTitleA("Calculator Of Integrals");
int i=1, j;
int K; // Кратность интеграла
unsigned long y, N;
float max=32767;
double S=0, x1, x2, f, I;
const double PI2=1.57079632679489661923;
double epsilon;
char input[20];
// перехват исключения
cin.exceptions(ios_base::badbit);
cout.precision(2); // Точность

// ввести заданную точность double epsilon и вычислить число бросков N=1/epsilon*epsilon
// блок ввода исходных данных
while(true) {
cout << "Введите заданную точность: \n";
try {
cin >> epsilon;
break;
}
catch (...){
cout << "Ошибка ввода \n";
cin.clear(); // Очистка состояния потока

// Избавиться от ошибки ввода
//while (!isspace(cin.get()))
//continue;
}
}

S=1.0/(epsilon*epsilon);
N=S;
cout << N <<" \n";
cout << "Введите кратность интеграла: \n";
cin >> K; // ввод кратности
cout << " \n";
// выделить память под массивы переменных x[j] и
// пределы интегрирования a[j] и b[j], т.е 3*K значений double
double *a = new double[K];
double *b = new double[K];
double *x = new double[K];
// ввести пределы интегрирования последовательно a[0] и b[0], a[1] и b[1], и т.д.
for (i=0; i<K; i++) {
cout << "Введите пределы интегрирования: " << "a[" <<i <<"]" << " и " "b[" <<i <<"] \n";
cin >> a[i]; cin >> b[i];
}
// значения rand max = 32767
srand(time(NULL)); // разгон ГСЧ

// Вычисления
while ( i != 0 ){ // повторить N вычислений функции
S=0; // сумма значений функции в случайных точках
cout << "Идёт вычисление заданного интеграла. Пожалуйста, подождите \n";
for( i = 0; i < N ;i++) {
for (j=0; j<K; j++){
y=rand();
x[j]= a[j]+(b[j]-a[j])*y/max; // вычисляем случайное значение х[j]
}
// вычисляем значение функции в случайной точке
if (((i/1000000)*1000000)==i)
cout << "Выполнено число бросков: " << i << "\n";
// ваша интегральнная функция
f=x[0]*x[0]*x[1]*(cosf(x[0]*x[1]*x[1]));
S=S+f;
}
I=1;
for (j=0; j<K; j++){
I=I*(b[j]-a[j]); // вычисляем произведение интервалов интегрирования
}

// вычисляем значение интеграла
I=I*S/N;
cout << "Результат: \n";
cout << I << " \n";
cout << "Для продолжения расчёта нажмите 1 и Enter или для завершения 0 \n";
cin >> i;
}
// Освободить память
delete [] a;
delete [] b;
delete [] x;
}
legend
 Аватар для legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
17.12.2010, 15:46  [ТС]     необработаное исключение ?? оО #8
Михн@ТЫЧ!, оО вы походу перепутали тему.. и нетуда закопипастили

Добавлено через 17 часов 6 минут
всем спс.. но ошибка оказалость слишком простой. я не туда запихал блокнотный файл.. и чето из за этого оно сбоило =))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2010, 12:40     необработаное исключение ?? оО
Еще ссылки по теме:

Исключение C++
C++ Необработаное исключение
Чтение/запись бинарного файла: необработаное исключение C++

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

Или воспользуйтесь поиском по форуму:
Михн@ТЫЧ!
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 3
18.12.2010, 12:40     необработаное исключение ?? оО #9
Тогда сори!
Yandex
Объявления
18.12.2010, 12:40     необработаное исключение ?? оО
Ответ Создать тему
Опции темы

Текущее время: 13:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru