![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Matadora |
![]()
Сообщение
#1
|
Школьник ![]() Группа: Продвинутые Сообщений: 16 Регистрация: 4.9.2010 Город: Ukraine Учебное заведение: ВНТУ Вы: студент ![]() |
задали в самом начале учебы после долгого отдыха задачу:
создать программу на С, в которой будут работать функции добавления и удаления следующего элемента стека вот написала код, но он не хочет работать, помогите плиз Код #include<stdio.h> #include<stdlib.h> #define MES_LEN 10 typedef struct inform { int index; char message[MES_LEN]; } INFORM; typedef struct list_elem { INFORM inform; struct list_elem *next; } LEL; LEL* PutInStack(INFORM data); void PrintList(void); LEL* GetFromStack(INFORM* pdat); LEL *list; int main(void) { LEL *end=NULL; puts("\t\t Vhidni dani:"); do { end=PutInStack(end); } while (end!=NULL); puts("\n\n\t Vvedeno dani v stek:"); PrintList(); GetFromStack(); PrintList(); return 0; } void PrintList(void) { LEL *pel=list; while(pel!=NULL) { printf("\n%-8d%-70s", pel->inform.index, pel->inform.message); pel=pel->next; } } LEL* PutInStack(INFORM data) { LEL *pnew; pnew=(LEL*)malloc(sizeof(LEL)); pnew->inform=data; pnew->next=list; list=pnew; return pnew; } LEL* GetFromStack(INFORM* pdat) { LEL *ph=list; if (ph==NULL) return NULL; *pdat=ph->inform; list=list->next; free(ph); return list; } |
![]() ![]() |
Vahappaday |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
Советую сначала понять, зачем оно надо, или хотя бы подробно разобраться, как работает.
Написано вот тут: http://goodsoft.org.ua/ru/data_struct/stack.html и тут http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA Программулька вроде как рабочая... Смутило две вещи на первый взгляд: main без типа (противоречит концепции С) И ещё я не уверен, что printf("Enter choice:\n" "1 to push a value on the stack\n" "2 to pup a value off the stack\n" "1 to end program\n" ); работает, хотя и не говорю, что 100% работоспособно. Кстати, по первой ссылке есть примеры реализации стека. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.5.2025, 23:10 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru