Создать список из случайных целых чисел и удалить из него отрицательные элементы - C (СИ)
Формулировка задачи:
Всем привет! Ребята помогите! Нужна ваша помощь!
"Написать программу по созданию, просмотру, добавлению и решению поставленной задачи для однонаправленного линейного списка (стек и/или очередь).
Создать список из случайных положительных и отрицательных целых чисел (от –10 до 10) и удалить из него отрицательные элементы."
Если это возможно, то с минимальными комментариями! Спасайте, сессия горит!
Код к задаче: «Создать список из случайных целых чисел и удалить из него отрицательные элементы - C (СИ)»
struct Node { int data; Node *next; }; struct Stack { Node *begin; }; Stack *CreateStack() { Stack *s = new Stack; s->begin= NULL; return s; } bool Empty(Stack *s) { if (s->begin == NULL) return true; return false; } void PushBack(Stack *s, int data) { Node *tmp = new Node; tmp->data = data; tmp->next = NULL; if (Empty (s)) { s->begin = tmp; return; } Node *n1 = s->begin; Node *n2 = s->begin->next; while (n2 != NULL) { n1 = n1->next; n2 = n2->next; } n1->next = tmp; } void PopFront(Stack *s) { if (Empty (s)) return; Node *tmp = s->begin; s->begin = s->begin->next; delete tmp; } int Top(Stack *s) { return s->begin->data; } void Print(Stack *s) { Node *tmp = s->begin; while (tmp != NULL) { printf("%5d", tmp->data); tmp = tmp->next; } printf("\n"); } void Clear(Stack *s) { Node *tmp = s->begin; while (s->begin != NULL) PopFront(s); }
5 голосов, оценка 4.000 из 5
СОХРАНИТЬ ССЫЛКУ