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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
CilCatblack
5 / 5 / 0
Регистрация: 05.11.2007
Сообщений: 161
#1

Массив в стек - C++

29.04.2009, 13:03. Просмотров 2381. Ответов 10
Метки нет (Все метки)

Как добавить массив в стек?
К примеру такая схема стека:
массив_n,...массив_2,массив_1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
29.04.2009, 13:27     Массив в стек #2
а зачем массив в стек?..
объем стека ограничен, а массив может занимать всю адресную разрядность процессора.
Это раз. И два - копирование данных в стек и из стека занимает огромное время.
Evg
Эксперт CАвтор FAQ
17415 / 5653 / 355
Регистрация: 30.03.2009
Сообщений: 15,478
Записей в блоге: 26
29.04.2009, 14:15     Массив в стек #3
Может в стек складывать указатели на массив? При это мнадо понимать, что массив уже нельзя переиспользовать
CilCatblack
5 / 5 / 0
Регистрация: 05.11.2007
Сообщений: 161
29.04.2009, 18:12  [ТС]     Массив в стек #4
Цитата Сообщение от Evg Посмотреть сообщение
Может в стек складывать указатели на массив? При это мнадо понимать, что массив уже нельзя переиспользовать
Думаю этот вариант наиболее мне подходит.
А можно немного подробней?
Очень нужно.
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
29.04.2009, 18:30     Массив в стек #5
например так:
...
C++
1
2
3
4
5
6
7
8
9
10
11
12
int a[50];
...
main{
...
int x = GetSomeThing(a);
...
}
 
int GetSomeThing(int *b)
{
...
}
...ибо идентификатор массива по-умолчанию является ссылкой.
Evg
Эксперт CАвтор FAQ
17415 / 5653 / 355
Регистрация: 30.03.2009
Сообщений: 15,478
Записей в блоге: 26
29.04.2009, 20:25     Массив в стек #6
Цитата Сообщение от CilCatblack Посмотреть сообщение
Думаю этот вариант наиболее мне подходит.
А можно немного подробней?
Очень нужно.
Да ты хоть поясни суть задачи. А ещё лучше код напиши - поясню куда и что можно воткнуть
CilCatblack
5 / 5 / 0
Регистрация: 05.11.2007
Сообщений: 161
30.04.2009, 10:14  [ТС]     Массив в стек #7
Цитата Сообщение от Evg Посмотреть сообщение
Да ты хоть поясни суть задачи. А ещё лучше код напиши - поясню куда и что можно воткнуть
Поясняю:
Есть несколько однотипных массивов(колличество неизвестно).Нужно попарядку закинуть их в стек.После заполнения стека нужно вытащить их, затем вывести на экран.

Вот набросок класса стека:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class StackV
{
    char* ntc[80];//вот сюда нужно запихать массивы(мах кол 80)
    int first;
public: 
    void clearV(void);//очистка стека
    char* topV(void);
    int emptyV(void);
    int fullV(void);
    void pushV(char ch[20]);
    char* popV(void);
};
заранее извеняюсь если в коде ошибки.
Нужно срочно.
Evg
Эксперт CАвтор FAQ
17415 / 5653 / 355
Регистрация: 30.03.2009
Сообщений: 15,478
Записей в блоге: 26
30.04.2009, 10:57     Массив в стек #8
Скажем так, я не сторонник написания готовых кодов. Если ты напишешь прогу сам, то с засовыванием и высовыванием в стек конечно же помогу. Когда вот так - что-то навалял, люди мол мне сделайте и исправьте ошибки - я пас. На форуме много добрых людей - может кто и напишет
CilCatblack
5 / 5 / 0
Регистрация: 05.11.2007
Сообщений: 161
03.05.2009, 10:39  [ТС]     Массив в стек #9

Цитата Сообщение от Evg Посмотреть сообщение
Скажем так, я не сторонник написания готовых кодов. Если ты напишешь прогу сам, то с засовыванием и высовыванием в стек конечно же помогу. Когда вот так - что-то навалял, люди мол мне сделайте и исправьте ошибки - я пас. На форуме много добрых людей - может кто и напишет
Блин, так зачем просил код?
Я же ясно спрашивал Как добавить массив в стек?(засунуть и высунуть массив в стек!)
Evg
Эксперт CАвтор FAQ
17415 / 5653 / 355
Регистрация: 30.03.2009
Сообщений: 15,478
Записей в блоге: 26
03.05.2009, 11:16     Массив в стек #10
Цитата Сообщение от CilCatblack Посмотреть сообщение
Блин, так зачем просил код?
Я наивно полагал, что программа у тебя уже есть и вызывает вопрос только процесс работы со стеком

Цитата Сообщение от CilCatblack Посмотреть сообщение
Я же ясно спрашивал Как добавить массив в стек?(засунуть и высунуть массив в стек!)
Тебе так же ясно ответили, как это сделать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2009, 11:24     Массив в стек
Еще ссылки по теме:

Стек размывает массив C++
C++ Можно ли переписать заполненный стек в массив?
Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...) C++
Переменные в стеке. Где хранятся? Как обрабатываются? Есть ли программный стек или только стек процессора? C++
C++ Стек и массив

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
03.05.2009, 11:24     Массив в стек #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//a - массив int, i - размер массива
 
using namespace std;
   stack <int> s1;
 
//засунуть в массив
register int count = 0; 
do{
   s1.push(a[count]);
}while(++count<i);
 
//вытащить из массива
count = 0;
register int temp;//временная, для личных нужд
do{
temp = s1.top();
//здесь делайте c temp что хотите
//...
 
s1.pop();
}while(++count<i);
Yandex
Объявления
03.05.2009, 11:24     Массив в стек
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru