Написать функцию, которая удаляет из созданного стека отрицательные элементы. остальной код: #include struct stack { int info; stack * next; } *begin, *t; stack* push(stack*, int); void peek(stack*); void clear(stack **); stack* push(stack *p, int in) { stack *t = new stack; t-> info = in; t-> next = p; return t; } void peek(stack *p) { stack *t = p; while (t ! = null) { std: : cout < < " " < < t-> info < < std: : endl; t = t-> next; } } void clear(stack **p) { while (*p ! = null) { t = *p; *p = (*p)-> next; delete t; } } stack* sort(stack *s) { } int main() { setlocale(lc_all, "russian"); int i, in, n, kod; while (true) { std: : cout < < "1. создать. 2. добавить. 3. просмотреть. 4. удалить. 5. удалить отрицательные элементы. 0. выйти." < < std: : endl; std: : cin > > kod; switch (kod) { case 1: case 2: if (kod == 1 & & begin ! = null) { std: : cout < < "память очищена" < < std: : endl; break; } std: : cout < < "введите количество элементов: "; std: : cin > > n; std: : cout < < "введите элементы стека: "; for (i = 1; i < = n; i++) { std: : cin > > in; begin = push(begin, in); } break; case 3: if (! begin) { std: : cout < < "стек пуст." < < std: : endl; break; } std: : cout < < "стек: " < < std: : endl; peek(begin); break; case 4: clear(& begin); std: : cout < < "память очищена. " < < std: : endl; break; case 5: if (! begin) { std: : cout < < "стек пуст." < < std: : endl; break; } std: : cout < < "отсортировано " < < std: : endl; sort(begin); break; case 0: if (begin ! = null) clear(& begin); return 0; } } }

dolgunovadaniela dolgunovadaniela    2   30.05.2019 19:32    5

Другие вопросы по теме Информатика