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

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

Войти
Регистрация
Восстановить пароль
 
Аким
0 / 0 / 0
Регистрация: 23.05.2014
Сообщений: 2
#1

Создание стэков на С++ - C++

23.05.2014, 03:02. Просмотров 189. Ответов 4
Метки нет (Все метки)

Всем привет. У меня практическое задание по структурам данных.
Нужно написать прогу которая создаст стэк из 3 элементов и трансформирует ее в стэк из 5 элементов используя методы push, pop. Есть ограничения, прога должна отображать: 1.первоначальный вид стэка(3 элемента)
2.конечный вид(из 5 элементов).
Вот что я сам смог сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream> 
#include<stack> 
using namespace std; 
 
int main(){ 
stack<int>mystack; 
for(int i=0;i<5;i++)mystack.push(i); 
cout<<"popping out elements..."; 
while(!mystack.empty()){ 
cout<<""<<mystack.top(); 
mystack.pop(); 
} 
cout<<endl; 
return 0; 
}
Сидел, почитал, не помогло. Их я по просту не знаю, к сожалению а работу сегодня сдавать.
Отзовитесь кто знаком с такими задачками.
Спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 03:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание стэков на С++ (C++):

2-связный список на основе 2х стэков - C++
Помогите создать 2-связный список на основе 2х стэков.

Создать базу данных с(Создание функции БД, Создание процедуры БД, Создание тригера БД) - Программирование Android
В задание для курсовой работы по БД входят вот такие пункты: 1.2 Создание функции БД. 1.3 Создание процедуры БД 1.4 Создание...

Server 2003 Хочу освоить и применить на практике создание локальной сети, создание домена - Windows Server
Доброго времени суток. Господа, на днях начал осваиваю win server 2003. Хочу освоить и применить на практике создание локальной сети,...

Создание БД учет заявок на доступ к информационным ресурсам: создание отчетов - MS Access
Доброго времени суток. Это всего вторая моя попытка что-то наваять в MS Access, сильно не пинайте. Задача: сделать БД по учету...

Создание кода из строк или создание произвольного количества объектов - Java ME
Привет сообществу. Возник такой вопрос: Мне в мидлете необходимо создать некоторое количество StringItem, заранее неизвестное, то бишь...

Создание базы данных на лету, создание и заполнение таблиц в базе DB (Paradox? или..). - C#
Здравствуйте Профи! --- Видел я &quot;простенькую&quot; (exe-шник небольшого размера, запускается сразу, без предварительной установки)...

4
uhx
60 / 60 / 6
Регистрация: 11.07.2013
Сообщений: 304
23.05.2014, 03:55 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Аким Посмотреть сообщение
Вот что я сам смог сделать:
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int>mystack;
for(int i=0;i<5;i++)mystack.push(i);
cout<<"popping out elements...";
while(!mystack.empty()){
cout<<""<<mystack.top();
mystack.pop();
}
cout<<endl;
return 0;
}

И что это?)))
Сейчас код нормальный напишу)

Добавлено через 10 минут
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
#include <iostream>
 
using namespace std;
 
struct stack{
    int info;
    stack *next;
};
 
void push(stack* &st, int inf){
    stack *temp = new stack; // Выделяем память
    temp->info = inf; // Закидываем число
    temp->next = st; // Указатель на текущую верхушку
    st = temp; // Двигаем верхушку на новый элемент
}
 
void pop(stack *st){
    stack *temp = st;
    while(temp){
        cout<<temp->info<<" "; // Выводим стек
        temp = temp->next;
    }
    cout<<endl;
}
 
void clean(stack* &st){
    for(stack *temp = st->next;st->next;temp = st->next){
        delete st;
        st = temp;
    }
}
 
int main(){
    setlocale(0, "");
    stack *st = NULL;
    push(st, 1);
    push(st, 2);
    push(st, 3);
    pop(st);
    push(st, 4);
    push(st, 5);
    pop(st);
    system("pause > nul");
    clean(st);
}
Как-то так.
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.05.2014, 10:44 #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
#include <iostream>
#include <stack>
 
template <typename T>
void print_stack(std::stack<T> st, std::ostream& os = std::cout)
{
   while (!st.empty()) {
      os << st.top() << " ";
      st.pop();
   }
   os << std::endl;
}
 
int main()
{
   std::stack<int> stack{{4, 6, 7}};
   print_stack(stack);
   
   stack.push(100);
   stack.push(200);
   print_stack(stack);
 
   return 0;
}
0
Tulosba
23.05.2014, 11:05
  #4

Не по теме:

DiffEreD, жалко, что нельзя принтануть стек не прибегая к копированию или его опустошению.

0
Аким
0 / 0 / 0
Регистрация: 23.05.2014
Сообщений: 2
23.05.2014, 11:43  [ТС] #5
Спасибо большое! Отличный код)))
Надо бы мне посерьёзнее отнестись к этим стэкам.
0
23.05.2014, 11:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2014, 11:43
Привет! Вот еще темы с ответами:

Создание формулы и последующее заполнение таблицы, избежание повторов информации, создание интерфейса - MS Access
Не люблю просить о помощи, но, к сожалению, сроки поджимают и не позволяют подробно ознакомиться с профессиональной литературой по MS...

Создание источника данных, создание серверных страниц и выбор WEB-сервера и его установка - Web
на практике попросили сделать задание. 1)Создание источника данных 2)Создание серверных страниц 3)Выбор WEB-сервера и его установка ...

Создание экземпляра БД (создание собственно базы данных) - Oracle
Добрый день. Подскажите пожалуйста, я пытаюсь установить Oracle Database 11g Release 2. Следую этой инструкцией...

Файлы. Создание и размещение небольшого текста, создание двух дочерних процессов, вывод результи- рующего файла на экран - C Linux
Помогите пожалуйста с программой. Разработайте программу, выполняющую: 1) создание файла и размещение в нем небольшого текста; 2)...


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

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

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