DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи № 3 з дисципліни «Програмування. Частина III. Структури даних та алгоритми» на тему «Структура даних стек»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування Частина III Структури даних та алгоритми
Група:
КН-11
Коротко про документ

Про що ця робота

Звіт з лабораторної роботи присвячено вивченню структури даних стек та реалізації її базових операцій мовою C++. У роботі наведено постановку завдання, програмний код шаблону класу стек та результати виконання.

У роботі розглядаються

  • Структури даних
  • Стек
  • Програмування на C++
  • Шаблони класів
  • Динамічна пам'ять
  • Алгоритми

Зміст і розділи

  1. Мета роботи
  2. Постановка задачі
  3. Код програми
  4. Результат виконання програми
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають програмування та структури даних.
Викладачі:Викладач кафедри ЕОМ

Ключові поняття

стекшаблон класудинамічна структура данихоперація pushоперація popвказівникC++структури даних та алгоритмивиключенняпам'ять

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 3 на тему: "Структура даних СТЕК" з дисципліни: " Програмування. Частина III. Структури даних та алгоритми " Вибір варіанту: № варіанта = [(день народження) + (місяць народження) + (ASCII–код першої літери прізвища – велика латинська літера) ] % 20 + 1 (23 + 8 + 70 ) % 20 + 1 = 2 Львів – 2013 Мета роботи: Вивчення фундаментальної абстрактної структури даних стек. Набуття практичних навичок побудови стека, дослідження динаміки його вмісту та використання стеків для розв'язання прикладних задач. Постановка задачі: 2. Реалізувати стек, у якому до опису стека додано змінну EMPTY замість функції empty(). Переписати основні функції роботи зі стеком з врахуванням цієї змінної. Після обробки всієї заданої вхідної послідовності перевірити, чи елементи стека будуть відсортовані (по спаданню або по зростанню). Код програми: #include <string> #include<iostream> using namespace std; template<class T> class Stack { public: Stack():tail(0), head(0) {} bool EMPTY; ~Stack() {while(head) {tail=head->next; delete head; head=tail;}} void push(T val) { Node* Temp; Temp=new Node; Temp->elem=val; if(tail==0) { tail=Temp; } else { Temp->next=tail; tail=Temp; } } T top() { if(tail==0) { throw std::string("Stack is empty!"); EMPTY=true; } return tail->elem; } void pop() { if(EMPTY==true) { throw std::string("Stack is empty!"); } Node* delptr=tail; tail=tail->next; delete delptr; } void print() { if(EMPTY==0) { throw std::string("Stack is empty!"); } for(Node* ptr=tail; ptr!=0; ptr=ptr->next) { std::cout<<ptr->elem<<' '; } std::cout<<'\n'; } private: struct Node { Node():elem(0), next(0) { } Node* next; T elem; }; Node* head; Node* tail; }; /*__________________________________________________________*/ int main() { int i=0; const int sizemass=6; cout<<"Eter mass:\n"; int r[sizemass]; for(i=0;i<sizemass;i++) cin>>r[i]; Stack<int> St; for(int i=0;i<sizemass;i++) { if(r[i]>=0) St.push(r[i]); else St.pop(); } try { while (St.top() != 0) { std::cout<<"elements in stack: "; St.print(); std::cout<<"element pop: "; std::cout<<St.top()<<'\n'<<"Countdown: "; St.pop(); St.print(); } } catch(const std::string& e) { std::cout<<e<<'\n'; } return 0; } Результат виконання програми:  Рис1. Ескіз вікна з результатом виконання програми Висновок: На цій лабораторній роботі я ознайомився з cструктурою даних стек. Дослідив принципи і методи роботи зі стеком.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!