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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2010, 21:43   #1
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
Сообщение стек символов

Проблема: необходимо создать функцию для ввода размера стека.

Вот мой код:
Код:
typedef struct stack{
    char data;
    struct stack *next;
}Item;
int count=0,size;
Item *top=NULL;
void Push(void);
void Pop(void);
void Display(void);
void razmer(void);
int menu();
static int n;

int main(){
	razmer();
        int done=false;
        char c;
        while(!done){
            Display();
            printf("\n\nA)dd,D)elete,Q)uit \n");
            c=getchar();
            switch(toupper(c)){
                case 'A':
					Push();
                    break;
                case 'D':
                    Pop();
                    break;
                case 'Q':
                    done=true;
                    break;
			}
		}
        return 0;
}
 void Push(){
    Item *p; 
    p=(Item *)malloc(sizeof(Item));
        printf("Your symbol; ");
    scanf("%s",&p->data);
    p->next=top;
    top=p;
	count++; 
	if(size<=count) printf("error");
}
void Pop(){
    Item *p;
    
    if(top!=NULL){
        p=top;
        top=top->next;
		count--;
        free(p);
    }
}
void Display(){     
    Item *p=top;
	
    if(p==NULL)
        printf("\nstack is empty  \n");
    else    
        printf("\n\nStack;\n");
	printf("razmer: %i",count); 
	while(p!=NULL){ 
        printf("\n%c",p->data);
    p=p->next;  
	}
	}
void razmer(){
	printf(" size of stack\n :");
   int size;
   scanf("%i",&size);
}
zhenya.ya вне форума Ответить с цитированием
Старый 22.03.2010, 08:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
функцию для ввода размера стека.
Ну сделай ты глобальную переменную описывающую размер стека.
А в коде напиши ченить типа:
Код:
int stackcount(){int d; printf("введите размер стека");scanf("%d",&d); return d;}
И пусть эта функа в ту переменную пишет, а в своих циклах ты учитывай эту переменную.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек С++ Верунчик Помощь студентам 3 28.09.2011 08:39
стек символов zhenya.ya Помощь студентам 1 19.03.2010 09:26
Стек. pa6kevi4 Помощь студентам 5 12.03.2010 15:38
C++ и стек MaGWaY_minsk Помощь студентам 1 11.11.2009 01:08