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

Оператор delete[] - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный Динамический массив http://www.cyberforum.ru/cpp-beginners/thread153382.html
Здравствуйте, такая проблема: не могу задать int** и char**...проблема в том что в функцию передются их размеры , но они не константы и компилятор пишет ошибку, и не очень понимаю как выделять память..
C++ Неориентированный граф!!! Еще раз обращаюсь за помощью к форуму..от этих задач зависит стипендия! Помогите пожалуйста! Задача 1. Для неориентированного графа определить вершины с максимальной степенью. Выбрать одну из них и удалить. Задача 2. Определить количество вершин неориентированного графа с четной степенью, вывести их список. Изменить степень заданной вершины с помощью операции удаления ребра. http://www.cyberforum.ru/cpp-beginners/thread153326.html
C++ Как определить конверсию к типу?
Заранее извиняюсь за ужасное название темы, но ничего другого придумать не смог. У меня есть свой класс(пусть зовется MY), который реализует математические действия(умножение, деление, извлечение квадратного корня и т.д.) с большой точностью. Если сделать выполнить следующую строчку(вместо переменных написаны их типы и на месте * может быть любой другой оператор): int=int*MY; То компилятор...
C++ D-Link c++
как можно приконнектится к роутеру D-Link с помощью языка с++...весь инет перерыл не нашел ничего путного
C++ Балансировка бинарных деревьев http://www.cyberforum.ru/cpp-beginners/thread153292.html
Вот если кому то потребуется вылаживаю рабочую балансировку бинарных деревьев, если есть советы по улучшению то сс удовольствием выслушаю)) //______________Реализация балансировки__________________ void tree::Balance() { if(root!=NULL)Balance(root, NULL);//Проверка не пустое ли дерево, если нет то запуск балансировки с передачей адреса корня } int tree::Balance(elem* r,elem* p) {
C++ Рекурсия=( Всем доброго времени суток=) помогите написать программу, ну или хотя бы объясните задание, а то я его не очень понял =( составить рекурсивную функцию, определяющую в заданной символьной строке кол-во символов, являющихся цифрами и заменяющую каждую букву младшей десятичной цифрой данного числа Заранее благодарен=) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.07.2010, 14:09     Оператор delete[]
Ну вот так конечно работает... Но не полностью чистит память...

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
71
72
73
74
75
76
77
78
79
80
#include  <iostream>
#include <cstdlib>
#include <ctime>
#define   stop __asm nop
 
int main()
{
                int N,M;
                N=3;
                M=4;
        
                //создаем указатель на одномерный динамический массив(1) с размерностями N*M
                int*pointer2dyn_arr=new int[N*M];
 
                //указатель на новый дин. массив(2), созданный для удобства обращения к элементам     одномерного массива
                int**pp2dyn_arr=new int *[N]; 
                
                //заполняем массив 2
                /*for(int i=0;i<N;i++)
                    pp2dyn_arr[i]=new int[N];*/
                for(int i=0;i<N;i++)            
                {
                        pp2dyn_arr[i]=pointer2dyn_arr+i*M;
                }
                
                //устанавливаем стартовую точку последовательности, которую генерирует rand()
                srand((unsigned)time(0));
                //заполняем массив 1
                for (int i=0;i<(N*M);i++)
                {
                        pp2dyn_arr[0][i]=rand()%89+10;  //от 10 до 99
                        if (i%M==0)std::cout<<'\n';
                        std::cout<<pp2dyn_arr[0][i]<<' ';
                        
                }
 
////  сумма элементов.
                int sum1=0; 
                for(int i= 0; i < (N*M) ; ++i)  
                {
                        sum1+=pp2dyn_arr[0][i];
                }
                std::cout<<'\n';
        
        //Задание2а. В сформированном массиве отсортируйте каждую строку по
        //убыванию значений. Используйте сортировку "выбором"
 
                for(int k=0;k<N;++k) //пробегаем по строкам
                {
                        for(int i = 0; i < (M) ; i++) //сортируем 
                        {       
                                int*max_el=pointer2dyn_arr;
                                int*next_el=pointer2dyn_arr+1;
                                for(int j=i+1;j<M;j++)  //пробегаем по ячейкам
                                {
                                        if(*next_el>*max_el)max_el=next_el;
                                        next_el++;
                                }
                                int tmp=*max_el;
                                *max_el=*pointer2dyn_arr;
                                *pointer2dyn_arr=tmp;
                                pointer2dyn_arr++;      
                        }
                }
                
        //вывод отсортированных значений
                for (int i=0;i<(N*M);i++)
                        {
                                if (i%M==0)std::cout<<'\n';
                                std::cout<<pp2dyn_arr[0][i]<<' ';
                        }
                stop
                delete[] pp2dyn_arr;
                //pointer2dyn_arr=0;
                //delete[] pp2dyn_arr;
                //pp2dyn_arr=0;
                
                stop
return 0;
}
 
Текущее время: 02:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru