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

Правильное удаление динамического двумерного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Модель солнечной системы.Выдает ошибку-не могу найти.Ошибка внизу http://www.cyberforum.ru/cpp-beginners/thread954970.html
#include <iostream> #include <stdio.h> #include <math.h> #include <string.h> #include <GL/glut.h> #include <Gl/GL.h> #include <time.h> using namespace std;
C++ Треугольники Помогите пжалста!!:wall: На плоскости n точек заданы своими координатами (xi,yi) , i=1,2,…,n и дана окружность радиуса R с центром в начале координат. Указать множество (номера) всех треугольников с вершинами в заданных точках и содержащихся внутри окружности. Номера вершин печатать в порядке возрастания значений, а также первый номер i-го треугольника должен быть меньше первого номера (i+1)-го... http://www.cyberforum.ru/cpp-beginners/thread954965.html
C++ Как заполнить массив числами, удовлетворяющими какому-то условию?
Здравствуйте, помогите, пожалуйста, только начинаю изучать С++. Ситуация такая: Дано целое число, равное 2^32. Надо написать является ли число, введенное с консоли из промежутка от 1 до 2^32, простым. Это у меня написано. Далее надо определить только сбалансированные простые числа (те, которые являются средним арифметическим между предыдущим и последующим простыми числами). Есть идея все...
C++ Модель солнечной системы.Выдает ошибку-не могу найти
#include <iostream> #include <stdio.h> #include <math.h> #include <string.h> #include <GL/glut.h> #include <Gl/GL.h> #include <time.h> using namespace std;
C++ Автозагрузка программы. Баг http://www.cyberforum.ru/cpp-beginners/thread954956.html
Привет, добавляю программу в автозагрузку: TRegistry *reg = new TRegistry(); reg->RootKey=HKEY_CURRENT_USER; reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true); reg->WriteString("progasoft",Application->ExeName); reg->CloseKey(); delete reg; reg = NULL; все прекрасно работает, но если прикрутить к программе манифест для UAC:
C++ exp(x) При казалось бы не слишком уж больших значениях x, например -1. exp(-1.0) уже возвращает 1. Пробовал заставить вернуть его double вот таким способом double result, x = -1.0; result = exp(x); но всё равно возвращает 1, как с этим бороться? подробнее

Показать сообщение отдельно
y_e_p
3 / 3 / 0
Регистрация: 15.09.2013
Сообщений: 27

Правильное удаление динамического двумерного массива - C++

15.09.2013, 16:19. Просмотров 881. Ответов 11
Метки (Все метки)

Доброго времени суток форумчани.
Ну в общем перейду сразу к делу.
О себе: сам пишу на JAVA (android),решил взяться за С++,разбираюсь с указателями.
О IDE: Visual Studio 2012;
Проблема вот в чем, написал код,который заполняет двумерный массив по спирали. Вроде бы все работает,но при освобождении памяти вылетает. Что я не так сделал.
Просьба, сильно не пинайте,я только начал осваивать С++,даже понравилось, но немного проблема с указателями. Толком не могу понять зачем,как, и почему? Ну привык я к JAVA.
Помогите с кодом,и если не трудно объясните как именно использовать указатели.
Надеюсь я написал понятно проблему. Заранее благодарен Вам за помощь.
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
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <stdlib.h>
#include <iomanip> 
 
using namespace std;
 
void main()
{
    setlocale(LC_ALL,"Russian");
    int n;
    int m;
    cout<<"Введите количество строчек:"<<endl;
    cin>>n;
    cout<<"Введите количество столбцов:"<<endl;
    cin>>m;
 
 
 
    //int Arr[n][m];
    int **Arr;
    Arr = new int*[n];
    for(int s=0;s<n;s++) Arr[s] = new int[m];
    int i=0, j = NULL, k = 0, p=0;
 
    while (i < n*m) /*Цикл по номеру витка*/
    {
        k++;
        for(j=m-k+1;j>=k-1;j--){
            Arr[k-1][j] = p++;
            i++;
            //cout<<Arr[k-1][j];
        }//top
        for(j=k;j<m-k+1;j++){
            Arr[j][k-1] = p++;
            i++;
            //cout<<Arr[j][k-1];
        }//left
        for(j=k;j<m-k+1;j++){
            Arr[m-k][j] = p++;
            i++;
            //cout<<Arr[m-k][j];
        }//bottom
        for(j=m-k-1;j>k;j--){
            Arr[j][m-k] = p++;
            i++;
            //cout<<Arr[j][m-k];
        } // right
 
 
    }
    cout << "Заполнение Массива по спирали"<< "\n" << endl;
    for (int q=0; q<n; q++)
    {
        for (int w=0; w<m; w++)
            cout << setw(4) << Arr[q][w];
        cout << endl;
 
    }
    //int *p = &m;
 
 
    //cin.get();
    system("pause");
 
 
    for(int x =0;x<n;x++) delete []Arr[x];
 
    delete []Arr;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru