Страница 1 из 1

Срочно помогите до 5 часов должен сделать)) от этого зависит моя карьера))

Добавлено: 30 сен 2009, 12:47
mdems
Парни помогите нужно написать простой STACK вот
не используя структур языка С++, чисто на C надо написать
что бы я умел
положить в стек
извлечь из стека
удалить элемент из стека
проверить не равен ли 0 стек
и проверить на переполнение стека воот парни
выручайте
чето начал писать ниче не получаеться

Код: Выделить всё

#include <stdio.h>
#include <iostream>
using namespace std;

int TOP_MAX = 100;

int STACK[100];
int k;

int push(int x)
{
	if(!(k >= TOP_MAX))
	{
	 for(int i = 0;i < STACK[k];i++)
			STACK[k] = STACK[i];
	}
	else 
	{
		cout << "RESULT FAIL" << endl;
	}
	return x;
}
void main()
{

}
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
поожалуйста

Re: Срочно помогите до 5 часов должен сделать)) от этого зависит моя карьера))

Добавлено: 30 сен 2009, 15:11
Albor
Создай указатель на вершину стека и "двигай" его по массиву, тогда и копировать массив не прийдётся.

Re: Срочно помогите до 5 часов должен сделать)) от этого зависит моя карьера))

Добавлено: 01 окт 2009, 13:15
Romeo
Во-первых, ты просишь написать на чистом С, а сам С++ хедеры включаешь. Зачем?
Во-вторых, как-то не логично у тебя всё. Я бы ожидал увидеть что-то типа:

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int TOP_MAX = 100;

int STACK[100];
int k = 0;

void push(int x)
{
   if (TOP_MAX == k)
   {
      printf("Stack overflow\n");
      abort();
   }
   else
   {
      STACK[k++] = x;
   }
}

int pop()
{
   if (k)
   {
      return STACK[--k];
   }
   else
   {
      printf("Pop cannot be called - stack is empty\n");
      abort();
   }
   return 0;
}

void main()
{
   push(10);
   push(20);
   push(30);

   printf("%d\n", pop());
   printf("%d\n", pop());
   printf("%d\n", pop());

   getch();
}

Re: Срочно помогите до 5 часов должен сделать)) от этого зависит моя карьера))

Добавлено: 02 окт 2009, 13:31
mdems
Ромео ты крут)) спасибо)