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

Добавить значение в конец динамического массива (имитация функции вектора) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Расставить 8 ферзей на шахматной доске 8 на 8, которые не бьют друг друга http://www.cyberforum.ru/cpp-beginners/thread724481.html
Нужно написать программу которая расставляет на шахматной доске 8 ферзей, которые не бьют друг друга. обязательно использование рекурсии, ну и struct . Извините если такая тема была, интернет 64кбитный. Спасибо =) Добавлено через 2 часа 5 минут Ап темы Добавлено через 2 часа 0 минут ап темы
C++ ifstream читает файл со второй строки Добрый день, читаю файл через fstream и записываю его, запись идет только со второй строки, не могу понять почему #include <iostream> #include <cctype> #include <fstream> #include <string> #define COLS 80 using namespace std; int replace(char*, char*); http://www.cyberforum.ru/cpp-beginners/thread724479.html
Одномерные динамические массивы (осуществить ввод, проверку, вывод результатов) C++
Очень прошу помочь с написанием этой программы.Говорят что легкая но у меня никак не выходит.Частями вроде бы получается, однако все детали, предложенные здесь, сделать не могу :( Одномерные массивы Память под массивы выделяется динамически. Необходимо: - осуществить проверку на правильность ввода размерности массивов. Массивы должны состоять не менее, чем из одного элемента; - ...
C++ Ошибка инициализации объекта, конструктором класса
Добрый день. Написал программу. Создание класса (упражнение из книги Дейтеля) "Создайте класс с именем Account, которым мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш класс должен иметь один элемент данных типа int для представления банковского баланса. Класс должен предусматривать конструктор, принимающий начальный баланс, используемый для инициализации...
C++ Структуры (напечатать самое распространенное женское имя) http://www.cyberforum.ru/cpp-beginners/thread724434.html
Приветствую! Всем хорошего настроения! Только вот у меня его совсем нет..... Сессия на носу, необходимо последнюю лабораторку допинать, а не получается:( Если кто нибудь поможет, буду очень благодарен. Задание выглядит так: На основе таблицы, содержащей следующую информацию о каждом из 20 студентов некоторого ВУЗА:фамилия,имя,отчество,пол,возраст,курс причем в фамилии, имени и отчестве-не...
C++ Прерывания Друзья, вот архив с DOC-ким файлом, помогите реализовать программу,задание под пунктом ПРИМЕР ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ подробнее

Показать сообщение отдельно
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.12.2012, 13:21     Добавить значение в конец динамического массива (имитация функции вектора)
я не понимаю что ты мудришь? мой код замечательно работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void add(int**P,int &N,int x) //добавляю один элемент в конец массива
{
  N++; //увеличиваю диапазон значений на один
  int *temp=new int[N+1]; //временный указатель
  int *temp2;
 
  for (int i = 0; i < N; i++)  temp[i]=(*P)[i]; //копирую данные из кучи *P в кучу temp
  temp[N-1]=x; //Дописываю элемент
  show(&temp,N); //вызывает ошибку
 
  //тут проблема!!!
  for (int i = 0; i < N; i++) (*P)[i]=temp[i]; //копирую обратно. 
  *P=temp; //К P не было добавлено выделенной ячейки памяти
             // а P и не надо оно после этой строки указвает на другое место в памяти, можно перед этим убить
            // предыдущий указатель P
  delete temp;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
  delete P;    // освободим Р
  show(&temp,N);
  *P=temp;      // P указывает на облось tmp
  delete temp;  // убиваем tmp
}
 
Текущее время: 18:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru