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

Стек на массиве - C++

Восстановить пароль Регистрация
 
Crachc
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 15
29.04.2013, 15:27     Стек на массиве #1
Здравствуйте! Надо создать стек на массиве, не используя ссылки, указатели, ... Дан только массив. После создания стека на массиве, нужно написать функции: добавления элемента, удаления /-/, размер стека и номер последнего элемента
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 15:27     Стек на массиве
Посмотрите здесь:

наименьшее значение в массиве поменять с последним элементом в массиве C++
C++ Найти в массиве максимальный и минимальный элементы в массиве и их количество
Стек на массиве (выводит значение даже при пустом стеке) C++
C++ Из массива А удалить те элементы, встречающиеся и в массиве А и в массиве В хотя бы два раза
Вывести элементы, которые есть в массиве А в нескольких экземплярах и отсутствуют в массиве В C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
29.04.2013, 15:42     Стек на массиве #2
Crachc, что накодили?
_dude01
6 / 6 / 0
Регистрация: 23.03.2013
Сообщений: 58
29.04.2013, 15:45     Стек на массиве #3
если с пределом размера то вот
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
#include <iosteam> //куда без него
 
enum {stackSize = 1000};// общий размер стёка
int stack[1000];//стёк типа int, можеш и другой если хочеш
int currStackSize = 0;//переменная указывающая на заполненность стёка
 
bool push(int value);
int pop(void);
 
int main(){
    //тут твой код
    ...
    return 0;
}
// функция push добавляет... ну ты понял, если в стёк добавился элемент то вернёт true иначе false
bool push(int value){
    if (currStackSize >= stackSize );
        return false;
    stack[currStackSize] = value;
    currStackSize ++;
    return true;
}
// если в стёке есть элемент то функция удалит и венет его иначе вернёт NULL
int pop(void){
    if (currStackSize == 0)
        return '\0';
    return stack[--currStackSize];
}
ну а если безразмерный массив то так не реально
используй для этого vector
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
29.04.2013, 15:54     Стек на массиве #4
Цитата Сообщение от _dude01 Посмотреть сообщение
ну а если безразмерный массив то так не реально
реально если перевыделять память
_dude01
6 / 6 / 0
Регистрация: 23.03.2013
Сообщений: 58
29.04.2013, 15:58     Стек на массиве #5
Цитата Сообщение от Кудаив Посмотреть сообщение
реально если перевыделять память
да но утечка памяти это не круто)
и к тому же запрос был "без указателей, ссылок etc."
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
29.04.2013, 16:11     Стек на массиве #6
Цитата Сообщение от _dude01 Посмотреть сообщение
да но утечка памяти это не круто)
если по уму то никаких утечек))


Crachc, динамическим массивом то пользоваться можно?
Yandex
Объявления
29.04.2013, 16:11     Стек на массиве
Ответ Создать тему
Опции темы

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