Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Расставить 8 ферзей на шахматной доске 8 на 8, которые не бьют друг друга https://www.cyberforum.ru/ cpp-beginners/ thread724481.html
Нужно написать программу которая расставляет на шахматной доске 8 ферзей, которые не бьют друг друга. обязательно использование рекурсии, ну и struct . Извините если такая тема была, интернет 64кбитный. Спасибо =) Добавлено через 2 часа 5 минут Ап темы Добавлено через 2 часа 0 минут ап темы
ifstream читает файл со второй строки C++
Добрый день, читаю файл через fstream и записываю его, запись идет только со второй строки, не могу понять почему #include <iostream> #include <cctype> #include <fstream> #include <string> #define COLS 80 using namespace std; int replace(char*, char*);
C++ Одномерные динамические массивы (осуществить ввод, проверку, вывод результатов) https://www.cyberforum.ru/ cpp-beginners/ thread724473.html
Очень прошу помочь с написанием этой программы.Говорят что легкая но у меня никак не выходит.Частями вроде бы получается, однако все детали, предложенные здесь, сделать не могу :( Одномерные массивы Память под массивы выделяется динамически. Необходимо: - осуществить проверку на правильность ввода размерности массивов. Массивы должны состоять не менее, чем из одного элемента; - ...
C++ Ошибка инициализации объекта, конструктором класса Добрый день. Написал программу. Создание класса (упражнение из книги Дейтеля) "Создайте класс с именем Account, которым мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш класс должен иметь один элемент данных типа int для представления банковского баланса. Класс должен предусматривать конструктор, принимающий начальный баланс, используемый для инициализации... https://www.cyberforum.ru/ cpp-beginners/ thread724466.html
C++ Структуры (напечатать самое распространенное женское имя)
Приветствую! Всем хорошего настроения! Только вот у меня его совсем нет..... Сессия на носу, необходимо последнюю лабораторку допинать, а не получается:( Если кто нибудь поможет, буду очень благодарен. Задание выглядит так: На основе таблицы, содержащей следующую информацию о каждом из 20 студентов некоторого ВУЗА:фамилия,имя,отчество,пол,возраст,курс причем в фамилии, имени и отчестве-не...
C++ Прерывания Друзья, вот архив с DOC-ким файлом, помогите реализовать программу,задание под пунктом ПРИМЕР ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ https://www.cyberforum.ru/ cpp-beginners/ thread724426.html
C++ Удаление рядков и столбцов в матрице Есть матрица, нужно удалить те рядки и столбцы в которих есть нулевой елемент. Например из матрицы 3 2 -3 0 4 4 0 2 -1 1 2 3 -1 -3 2 получаем 3 -3 4 https://www.cyberforum.ru/ cpp-beginners/ thread724414.html C++ Русская локаль
Задача: сделать так, чтобы "cout" был без кракозяблов, в программах где небыло классов, в тело функции вставлял setlocale(LC_ALL,"Russian");, а сдесь не могу понять, куда... //В программе объявлен исходный класс //четырехугольников и классы-наследники //параллелограммов, ромбов и квадратов. //Объявление базового класса четырехугольников #include "stdafx.h" #include <iostream> #include...
C++ Код клавиши Здравствуйте! Есть такой вопрос - какой ASCII код у клавиши вызова контекстного меню? Сейчас пишу небольшой файловый менеджер, и хотелось бы реализовать вызов контекстного меню по нажатию именно этой клавиши, как, например, а FAR Manager. https://www.cyberforum.ru/ cpp-beginners/ thread724406.html C++ Небольшой шаблонный класс matrix: комментарии/критика относительно кода с точки зрения правильности написания В плане своего общего развития написал не большой шаблонный класс matrix. Хочу поделиться своей работой с остальными, - может кому то это будет нужно или интересно. Плюс, хотел бы услышать комментарии/критику относительно кода с точки зрения правильности написания и эффективности, кто что думает. Вот собственно код:#pragma once //Шаблонный класс matrix. Позволяет создавать двумерные массивы... https://www.cyberforum.ru/ cpp-beginners/ thread724402.html
Открытие Изображения в с++ C++
Подскажите пожалуйста как открыть и вывести в графическое окно картинку.
C++ Односвязный и двусвязный список - оптимализация Еще раз здравствуйте. После тяжелых и горьких проб и неудач, у меня получилось написать версию программы для односвязного и двусвязного списка. Условие. Первое число - количество подходов. Вводятся числа , которые мы записываем в структуру пока не встретим 0. Потом суммируем последнее и первое, предпоследнее и второе и до конца. То есть : 4 5 8 2 9 0 выведет : 13 7 8 #include <iostream>... https://www.cyberforum.ru/ cpp-beginners/ thread724390.html
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
09.12.2012, 13:14  [ТС] 0

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

09.12.2012, 13:14. Показов 4892. Ответов 19
Метки (Все метки)

Ответ

Ctrl+F5 запускаю.

=============
Там еще одна утечка. Может из-за нее? P утекает. еще не исправил я, может поможет

Добавлено через 4 минуты
не помогло. ошибка

Добавлено через 16 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 не было добавлено выделенной ячейки памяти
  delete temp;
}
так всё как-то не так. Память должна добавиться, но она не будет добавлена. Как быть?

Добавлено через 22 минуты
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
#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++;
 
    P[N]=new int[sizeof(N)]; //выделяю память для новой ячейки
    (*P)[N-1]=x;    //записываю значение
}
 
int main()
{
    int *P; //Указатель будет использован как массив
    int N=0; //число элементов в массиве
    cin>>N;
    ////////////////
 
    create(&P,N); //создание массива с выделением памяти
    show(&P,N); //отображаю массив на экране
    add(&P,N,100); //попытка выделить ячейку памяти в конец массива и поместить туда 100, не затирая остального
    show(&P,N);
    add(&P,N,200);
    show(&P,N);
 
    return 0;
}
Исправил. при первом добавлении всё норм, а при втором ошибка.
Вопрос с освобождением памяти остался

Добавлено через 14 минут
До 50 теперь норм, дальше ошибка
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
#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) //создание массива
{
    N++;
    *P=new int[N]; //выделяю память
    for (int i=0;i<N;i++) (*P)[i]=i+1; //Заполняю
    
}
 
/*ВОТ ТУТ НЕ ЗНАЮ КАК*/
void add(int**P,int &N,int x) //добавляю один элемент в конец массива
{   
    P[N]=new int[sizeof(int)];
    (*P)[N]=x;  
     N++;
}
 
int main()
{
    int *P; //Указатель будет использован как массив
    int N=0; //число элементов в массиве
    cin>>N;
    ////////////////
 
    create(&P,N); //создание массива с выделением памяти
   
    
    /*Запись в конец по одному значению циклом*/
    show(&P,N);
    for (int i=0;i<40;i++)
    {
      add(&P,N,i+i);
      show(&P,N);
 
    }
    
    
    return 0;
}
как освобождать память теперь?

Вернуться к обсуждению:
Добавить значение в конец динамического массива (имитация функции вектора) C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2012, 13:14
Готовые ответы и решения:

Добавить в конец динамического массива новый элемент
class Program { static void Main(string args) { int size = 5; ...

Как добавить в конец двумерного динамического массива строку?
Уже какой день долблюсь и не могу добавить в конец динамического массива строку. Суть задания...

Функция: посчитать сумму элементов динамического массива, перераспределить память и добавить сумму в конец
функция считает сумму элементов массива, перераспределяет память и добавляет сумму в конец, при...

Если в массиве присутствует заданное значение - удалить его, иначе добавить в конец массива
Определить, есть ли в целочисленном массиве Q(10) заданное число Х, и если есть, то удалить его...

19
09.12.2012, 13:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2012, 13:14
Помогаю со студенческими работами здесь

Добавление элемента в конец динамического массива
Не понимаю почему у меня не выходит данный код (еще только учусь) void pushBack(int* arr, int*...

Добавление элемента в конец динамического массива!
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;malloc.h&gt; using namespace std; int main()...

Как в конец вектора положить случайное значение?
Подскажите, как в конец вектора положить случайное значение? Ниже мой вариант, ошибка в скрине....

Как вызвать метод вектора из динамического массива?
vector&lt;some_type&gt; *t=new vector&lt;int&gt; ; как вызвать метод из структуры\класса some_type? как...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru