Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
neronv2
0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 9
1

Ошибка при удалением двумерного динамического массива

17.02.2017, 15:51. Просмотров 149. Ответов 2
Метки нет (Все метки)

Задача состоит в том, чтобы загрузить массив из файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
17
0 0.40
10 0.3
20 0.12
30 0.45
40 0.122
50 0.44
60 0.66
70 0.85
80 0.25
90 0.64
100 0.7
120 0.60
130 0.88
140 0.91
150 0.45
160 0.57
170 0.44
Мой код выглядит так:
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
#include <fstream>
#include <iostream>
#include <string>
 
using namespace std;
 
double interpol();
 
int main()
{
 
    string file1,file2;
    int n;
    cin >> file1;
    file1 += ".txt";
    ifstream infile1  (file1.c_str());
    if (!infile1)
    {
        cout << "Error! File not found! Or it's empty!" << std::endl;
        system("pause");
        return 1;
    }
    infile1 >> n;
    float ** numaray = new float *[n];
    for (int r = 0; r < n*2; r++, cout << endl) {
        numaray[r] = new float[1];
        for (int c = 0; c < 1; c++) {
            infile1 >> numaray[r][c];
        }
    }
    for (int i = 0; i < n*2; i++)
        delete[] numaray[i];
    delete[] numaray;
    return 0;
}
Компилятор постоянно выдает ошибку на вот этом месте:
C++
1
2
3
for (int i = 0; i < n*2; i++)
        delete[] numaray[i];
    delete[] numaray;
Ни кода ошибки, ничего, просто вылетает программа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2017, 15:51
Ответы с готовыми решениями:

Ошибка с удалением памяти от динамического двумерного массива
Вечер в хату, форумчане, помогите пжлст, не могу понять как исправить ошибку. Задание:Разработайте...

Ошибка при создании динамического двумерного массива
Ткните пальцем, что не так. Только учусь, делаю лабы, камнями не забрасывайте. Смотрел шаблоны...

Ошибка при компиляции двумерного динамического массива указателей
Нужно создать двумерный динамический массив указателей собственного типа Building в классе City, но...

Ошибка заполнения динамического двумерного массива
При заполнении массива mas происходит выход за границы массива. По ходу исполнения программы данные...

Ошибка описания динамического двумерного массива
#include &lt;iostream&gt; using namespace std; int main() { int x, y, i, j; cout &lt;&lt;...

2
John Prick
836 / 767 / 258
Регистрация: 27.07.2012
Сообщений: 2,179
Завершенные тесты: 3
17.02.2017, 15:59 2
Так компилятор ошибку выдаёт или программа падает?

А вообще подозреваю, что проблема здесь:
C++
1
2
3
    float ** numaray = new float *[n]; // <-- выделили массив размером n
    for (int r = 0; r < n*2; r++, cout << endl) // <-- счётчик до n*2
        numaray[r] = new float[1]; // <-- выходим за пределы массива и портим память
1
Zauberbiest
99 / 2 / 0
Регистрация: 27.08.2016
Сообщений: 39
17.02.2017, 17:43 3
Столкнулся с аналогичной проблемой и дело действительно было в том, что в одном из циклов я выходил за границы массивов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2017, 17:43

При заполнении двумерного динамического массива выдает ошибку "нарушения прав доступа"
#include&lt;iostream&gt; using namespace std; int main() { int sizeC, sizeS; cout &lt;&lt;...

Ошибка при удалении динамического массива
Непонятная мне ошибка при удалении массива #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Ошибка при выводе динамического массива
Здравствуйте! Я создаю динамический массив, заполняю его и при выводе вылетает ошибка &quot;program.exe...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru