Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2011, 20:02   #1
Edemchik
 
Регистрация: 02.04.2011
Сообщений: 3
По умолчанию Стеки в Си

Для решения задач необходимо создать файлы Stack.h и Stack.c. У меня в них синтаксические ошибки. Сам разобраться не могу, помогите, пожалуйста, их исправить.
Вот код файла Stack.h:
Код:
#ifndef STACK_H
#define STACK_H

typedef struct NODE NODE;
struct NODE
{
	int info;
	struct NODE *next;
}node;
typedef struct STACK STACK;
typedef struct NODE *PNODE;
struct STACK
{
	int size;
	int count;
	NODE *top;
}st;
typedef struct STACK *PSTACK;
typedef enum {false,true} bool;
bool is_stack_empty(STACK st);
bool is_stack_overflow(STACK st);
void init_stack(PSTACK st);
void push(PSTACK st,PNODE n);
void print_stack(STACK st);
PNODE pop(PSTACK st);

#endif STACK_H
Код файла Stack.c:
Код:
#include <stdio.h>
#include "stack.h"
#define STACKSIZE 100
bool is_stack_empty(STACK st)
{
	return(st.count==0)?true:false;
}
bool is_stack_overflow(STACK st)
{
	return(st.count==st.size)?true:false;
}
void init_stack(PSTACK st)
{
	st->size=STACKSIZE;
	st->count=0;
	st->top=NULL;
}
void push(PSTACK st,PNODE n)
{
	if(!is_stack_overflow(*st))
	{
		n->next=st->top;
		st->top=n;
		st->count++;
	}
	else
	{
		printf("stack_overflow!\n");
		exit(1);
	}
}
PNODE pop(PSTACK st)
{	
	PNODE n=NULL;
	if(!is_stack_empty(*st))
	{
		n=st->top;
		st->count--;
		st->top=st->top->next;
	}
	return n;
}
void print_stack(STACK st)
{
	PNODE n;
	n=st.top;
	while (n!=NULL)
	{
		printf("%2d->",n->info);
		n=n->next;
	}
	printf("\n");
}
Edemchik вне форума Ответить с цитированием
Старый 01.05.2011, 21:51   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Компиляторы обычно пишут в каких строках ошибки и порой даже какие.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
стеки, деки Aydan Паскаль, Turbo Pascal, PascalABC.NET 1 30.04.2011 19:50
стеки ANGELO4EK Паскаль, Turbo Pascal, PascalABC.NET 1 16.03.2011 08:20
Стеки на С++ innaa639 Помощь студентам 2 14.10.2010 10:05
Стеки в Си n4sfe Помощь студентам 0 28.11.2009 13:49
Стеки olli Общие вопросы C/C++ 7 13.11.2009 15:27