Форум программистов, компьютерный форум 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-ким файлом, помогите реализовать программу,задание под пунктом ПРИМЕР ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ подробнее

Показать сообщение отдельно
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
09.12.2012, 17:40  [ТС]     Добавить значение в конец динамического массива (имитация функции вектора)
Решил)))
Но почему так выходило не понял всё равно


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
#include <iostream>
using namespace std;
 
void show(int **P,int &N)  //Показываю
{
 for (int i=0;i<N-1;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) //Добавляю одно значение в конец массива
{ 
  int *temp=new int[N]; //Выделяю новую память
  for (int i=0;i<N;i++) temp[i]=(*P)[i]; //Записываю туда данные
  delete [](*P); //вот так освобождаю массив, принятый функцией
 
  *P=new int[N+1]; //Выделяю для массива, принятой функцией новую память
  for (int i=0;i<N;i++) (*P)[i]=temp[i];//Записываю в массив значения из временного массива
  (*P)[N-1]=x; //Записываю новое значение в самый конец
 N++; //Увеличиваю число элементов
delete []temp; //освобождаю память от временного массива
}
 
 
void main()
{
 
 int *P=NULL;
 int N=0;
 cin>>N;
 
 
 create(&P,N); //Создал
 show(&P,N); //Показал исходный
 
 for (int i=0;i<100;i++) //Тест добавлений с помощью цикла
 {
 Add(&P,N,i+2); //Добавил один элемент
 show(&P,N); //Показал результат
 }
 delete []P; //Освободил память
 
}
Nixy, В принципе это ваш подход, только код мой. Спасибо за помощь. Интересно, будет ли работать в вашем компиляторе, а-то кто знает. Может обратная ситуация возникает.

Хотелось бы увидеть код попроще.
 
Текущее время: 02:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru