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

Стек на основе динамического массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти максимальный элемент матрицы http://www.cyberforum.ru/cpp-beginners/thread218983.html
Дана прямоугольная матрица, все элементы которой различны. в заштрихованной области, где min – минимальный элемент матрицы.
C++ Подправить программу, где-то ошибся) Не выводит седловые точки #include<conio.h> #include<stdio.h> void main(void) { int i,j, a, imin, imax,m,n,max,min,f; clrscr(); http://www.cyberforum.ru/cpp-beginners/thread218977.html
в чем ошибка? C++
делаю задания по книге. вот код #include <iostream.h> main() { int a, b; cout << "vvedite 2 chisla";
C++ Обратная матрица, IndexOf
нужно на vs2005 c++ сделать 2 вещи: 1)обратная матрица 2)Indexof чем проще написано тем лучше, главное чтобы норм компилировалось. ребят помогите,горит!!....
C++ Найти количество нулевых элементов массива и заменить их на найденное значение http://www.cyberforum.ru/cpp-beginners/thread218965.html
Задание: Найти количество нулевых элементов и заменить их на найденное значение. Например, 1 2 0 4 5 7 0 – 1 2 2 4 5 7 2 Массив обьявил, а задание не пойму. Помогите кто чем может. #include <cstdlib>
C++ Получить вектор по правилу Подскажите где ошибка ? Даны массивы А(10) и В(10) . Получить вектор Z(10) , где Z(j)=A(j)-B(j); Я написал прогу ну гдето видимо ошибка т.к. ответ не правильный к тому же выводится в столбец . #include<iostream.h> #include<math.h> #include<conio.h> void main() { clrscr(); float a, b , z; подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
23.12.2010, 21:49     Стек на основе динамического массива
Надо пересоздать полностью весь массив.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template <typename T>
void Stack<T>::AddElem(T item)
{
        size++;
        // наверно, тут должна быть еще какая-то проверка на 
        // необходимость изменения размера хранилища
        // вроде if (top >= size)
        // создается новый массив большего размера
        T* new_mas = new T[size];
        // копируется старый массив в новый
        for (int i = 0; i < size - 1; ++i)
               new_mas[i] = mas[i];
        // удаляется старый массив
        delete [] mas;
        // старый массив указывает на новый массив
        mas = new_mas;
        // дальше не очень понятно
        mas[top] = item;
        top++;
}
Добавлено через 1 минуту
Не смешивайте new и malloc.
 
Текущее время: 02:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru