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

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

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

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

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

Как добавить массив в стек?
К примеру такая схема стека:
массив_n,...массив_2,массив_1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2009, 13:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив в стек (C++):

Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами - C++
Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами #include <iostream> #include <stdlib.h> ...

Стек и массив - C++
Можно ли и из стека записть файлы в массив?

Стек размывает массив - C++
Код: #include <iostream> using std::cout; using std::cin; using std::cerr; using std::endl; using std::ios; #include...

Стек-массив динамических списков - C++
Препод домашку такую дал. Боюсь неправильно его понять) Каким образом его реализовать?. Я так понимаю, к каждому индексу массива должна...

Можно ли переписать заполненный стек в массив? - C++
Можно ли переписать заполненный стек в массив, а затем после сортировки запихнуть всё обратно в стек?

Используя стек, описать функцию проверяющую, является ли стек пустым - C++
Используя стек, описать функцию проверяющую, является ли стек пустым

10
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
29.04.2009, 13:27 #2
а зачем массив в стек?..
объем стека ограничен, а массив может занимать всю адресную разрядность процессора.
Это раз. И два - копирование данных в стек и из стека занимает огромное время.
0
Evg
Эксперт CАвтор FAQ
18026 / 6258 / 427
Регистрация: 30.03.2009
Сообщений: 17,193
Записей в блоге: 27
29.04.2009, 14:15 #3
Может в стек складывать указатели на массив? При это мнадо понимать, что массив уже нельзя переиспользовать
0
CilCatblack
5 / 5 / 0
Регистрация: 05.11.2007
Сообщений: 161
29.04.2009, 18:12  [ТС] #4
Цитата Сообщение от Evg Посмотреть сообщение
Может в стек складывать указатели на массив? При это мнадо понимать, что массив уже нельзя переиспользовать
Думаю этот вариант наиболее мне подходит.
А можно немного подробней?
Очень нужно.
0
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)
{
...
}
...ибо идентификатор массива по-умолчанию является ссылкой.
0
Evg
Эксперт CАвтор FAQ
18026 / 6258 / 427
Регистрация: 30.03.2009
Сообщений: 17,193
Записей в блоге: 27
29.04.2009, 20:25 #6
Цитата Сообщение от CilCatblack Посмотреть сообщение
Думаю этот вариант наиболее мне подходит.
А можно немного подробней?
Очень нужно.
Да ты хоть поясни суть задачи. А ещё лучше код напиши - поясню куда и что можно воткнуть
0
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);
};
заранее извеняюсь если в коде ошибки.
Нужно срочно.
0
Evg
Эксперт CАвтор FAQ
18026 / 6258 / 427
Регистрация: 30.03.2009
Сообщений: 17,193
Записей в блоге: 27
30.04.2009, 10:57 #8
Скажем так, я не сторонник написания готовых кодов. Если ты напишешь прогу сам, то с засовыванием и высовыванием в стек конечно же помогу. Когда вот так - что-то навалял, люди мол мне сделайте и исправьте ошибки - я пас. На форуме много добрых людей - может кто и напишет
0
CilCatblack
5 / 5 / 0
Регистрация: 05.11.2007
Сообщений: 161
03.05.2009, 10:39  [ТС] #9

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

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

Переменные в стеке. Где хранятся? Как обрабатываются? Есть ли программный стек или только стек процессора? - C++
Есть у меня пробелы в познаниях, хотел бы их устранить. 1. Что такое стек в самом языке С++ ? 2. В какой памяти он хранится и почему...

при работе рекурсивной функции заканчивается стек и программа соответственно; как сделать так, чтобы она писала "стек закончился"? - C++
Сабж g++ 4.5.0

Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...) - C++
Всем привет,ребят помогите пожалуйста с лабой,вообще без понятия про стеки:( Может кто то делал,или встречался с таким заданием: ...

Стек! - C++
Реализуйте структуру данных &quot;стек&quot;. Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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