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

Работа с памятью - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Преобразование матриц (указатели) http://www.cyberforum.ru/cpp-beginners/thread724895.html
Построить матрицу B по заданной целочисленной матрице А порядка n (n <= 100). Решить задачу с использованием указателей. Построить матрицу В такого же размера, как А, элементы которой обладают...
C++ Как это будет на С++? вот мой код: uses crt; function degree(a: real; n:byte):real; begin if n=0 then degree:=1 else degree:=a*degree(a,n-1) end; var a,p,s: real; n,i:byte; http://www.cyberforum.ru/cpp-beginners/thread724886.html
Динамическое распределение памяти C++
Выполните задание следующим образом: а) для хранения массивов используйте динамически распределяемую память; б) каждый этап обработки массивов (ввод, заполнение, вывод, упорядочение и т.п.)...
C++ Выделение слов в строке
Найти количество слов в строке, заканчивающихся на буквы 'rd'.
C++ строки (напечатать все слова,которые совпадают с начальным отрезком латинского алфавита) http://www.cyberforum.ru/cpp-beginners/thread724876.html
Ребята,нужна помощь!!) Дана строка,которая состоит из слов, разделенных пробелами. Нужно напечатать все слова,которые совпадают с начальным отрезком латинского алфавита (a, ab, abc,abcd … и т. д)
C++ bool+bool=string Здравствуйте! Прошу помощи в задаче, существует 4 функции, возвращающие 1/0, нужно эти bool последовательно соединить в string. Т.е. вернется, например, 0 1 1 0, в переменной будет 0110... подробнее

Показать сообщение отдельно
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.12.2012, 17:37  [ТС]
Вот я примерно так и думал , тогда как мне правильно удалять память P , чтобы не было ошибок
C++
1
delete []P;
я вроде делаю так но если я начинаю вызывать этот метод в цикле то он рушится

Код
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
#include <iostream>
 
using namespace std;
 
void show(int **P,int N)
{
  for (int i=0;i<N;i++) cout<<(*P)[i]<<"  ";
  cout<<endl;
}
 
void create(int **P,int N)
{
    *P=new int[N];
    for (int i=0;i<N;i++) (*P)[i]=i+1;
}
 
 
void add(int**P,int &N,int x)
{
  N++;
  int *temp=new int[N];
  for (int i = 0; i < N-1; i++) {
     temp[i]=(*P)[i];
  }
  temp[N-1]=x;
  show(&temp,N);
  delete []P;
  *P=temp;
}
 
int main()
{
    int *P;
    int N=0;
    cin>>N;
 
 
    create(&P,N);
    show(&P,N);
    for (int i = 0; i < 10; i++) {
        add(&P,N,i*100);    }
    delete []P;
 
    return 0;
}
0
Миниатюры
Работа с памятью  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru