Есть ответ 👍

C++. написать программу, которая должна выполнять следующие операции: создавать стек. операцию дополнения стека. операцию просмотра стека. операцию удаления элементов стека.

196
491
Посмотреть ответы 2

Ответы на вопрос:


#include < iostream> using namespace std; template < typename t> class stack { private: t *p; int top, length; public: stack(int = 0); // стандартный размер стека - 0 ~stack(); void push(t); // дополнение элементом t pop(); // удаление и возврат элемента void display(); // отображение стека }; template < typename t> stack< t> : : stack(int size) { top = -1; length = size; if (size == 0) { p = 0; } else { p = new t[length]; } } template < typename t> stack< t> : : ~stack() { if (p ! = 0) { delete [] p; } } template < typename t> void stack< t> : : push(t elem) { if (p == 0) { cout < < "стек нулевого размера" < < endl; cout < < "введите размер стека: "; cin > > length; p = new t[length]; } if ( top == (length - 1) ) { cout < < "\nне могу дополнить стек элементом " < < elem < < ", стек полон" < < endl; return; } else { top++; p[top] = elem; } } template < typename t> t stack< t> : : pop() { if ( (p == 0) || (top == -1) ) { cout < < "стек пуст, не могу убрать элемент."; return -1; } t ret = p[top]; top--; return ret; } template < typename t> void stack< t> : : display() { for (int i = 0; i < = top; i++) { cout < < p[i] < < " "; } cout < < endl; } int main() { /* создайте стек так: stack < int> stack1; stack < char> stack2; где в угловых кавычках - тип, с которым работает стек. как пользоваться - смотрите заголовок класса. */ return 0; }
DlCE17
4,5(59 оценок)

на с++ как то так

#include< iostream> #include< ctime>

using namespace std;

int main(){ srand(time(null)); int n, a, sum = 0, ten = 10, index = 0; int *arr; cout < < "enter size of arr(enter n) : "; cin > > n; arr = new int [n]; for(int i = 1; i < = n; i++) arr[i] = rand()%25;

cout < < "arr : " < < endl; for(int i = 1; i < = n; i++) cout < < arr[i] < < " " ; cout < < endl;

cout < < "enter a : " ; cin > > a;

for(int i = 1; i < = n; i++) { if(arr[i] == a) index = i;

} if(index ! = 0) { for(int i = index + 1; i < = n; i++) sum = sum + arr[i]; } if(sum == 0) cout < < "result = " < < ten < < endl; else cout < < "result = " < < sum < < endl; }

Популярно: Информатика