Commit 18d956c2 authored by vgsb18's avatar vgsb18 🦍

atualizando .h pra tad_pilha, mesclagem dos arquivos

parent dd52b42a
No preview for this file type
#include <stdio.h>
#include "class.h"
#include "tad_pilha.h"
int main()
{
......
#include "class.h"
#include <stdio.h>
char repetidor(char rep, int *val)
{
char y;
printf("times\n");
if (rep != '0')
{
char end;
if (rep == '(')
end = ')';
else if (rep == '[')
end = ']';
else if (rep == '{')
end = '}';
else
return '0';
scanf(" %c",&y);
printf("heyy\n");
if (repetidor(y,val) == end)
*val = 1;
}
return y;
}
int *avalia_sequencia()
{
char x;
char z;
scanf("%c",&x);
int *validate = 0;
repetidor(x,validate);
return validate;
}
\ No newline at end of file
#ifndef __CLASS__
#define __CLASS__
char repetidor(char rep, int *val);
int *avalia_sequencia();
#endif
#include <stdio.h>
#include <stdlib.h>
#include "tad_pilha.h"
/* aqui vao as declaracoes iniciais e os codigos das funcoes */
/* inicio das suas modificacoes nesta parte */
/* fim das suas modificacoes desta parte */
/* O codigo abaixo so pode ser modificado para resolver o */
/* problema da passagem de endereços como parâmetros! */
/* Deixe o restante do programa inalterado!!! */
int pilha_cheia (tad_pilha *p)
{
if (p -> tam == MAX)
{
return 1;
}
else
return 0;
}
void inicializa_pilha(tad_pilha *p)
{
p -> tam = 0;
p -> topo = 0;
}
int tamanho_pilha(tad_pilha *p)
{
int tamanho = p -> tam;
return tamanho;
}
int empilha(int i, tad_pilha *p)
{
if (!pilha_cheia(p))
{
p -> v[p -> tam] = i;
p -> tam += 1;
p -> topo = i;
return 1;
}
else
return 0;
}
int topo(int *i, tad_pilha *p)
{
if (p -> topo != 0)
{
*i = p -> topo;
return 1;
}
else
return 0;
}
int desempilha(int *t, tad_pilha *p)
{
if ((p -> topo )> 0)
{
p -> v[p -> tam-1] = 0;
p -> tam -= 1;
if (p -> tam < 1)
p -> topo = 0;
else
p -> topo = p -> v[p -> tam -1];
return 1;
}
else
return 0;
}
char repetidor(char rep, int *val)
{
char y;
printf("times\n");
if (rep != '0')
{
char end;
if (rep == '(')
end = ')';
else if (rep == '[')
end = ']';
else if (rep == '{')
end = '}';
else
return '0';
scanf(" %c",&y);
printf("heyy\n");
if (repetidor(y,val) == end)
*val = 1;
}
return y;
}
int *avalia_sequencia()
{
char x;
char z;
scanf("%c",&x);
int *validate = 0;
repetidor(x,validate);
return validate;
}
\ No newline at end of file
#ifndef __PILHA__
#define __PILHA__
#define MAX 1000
typedef struct tad_pilha
{
int tam;
int topo;
int v[MAX];
} tad_pilha;
char repetidor(char rep, int *val);
int *avalia_sequencia();
int pilha_cheia (tad_pilha *p);
void inicializa_pilha(tad_pilha *p);
int tamanho_pilha(tad_pilha *p);
int empilha(int i, tad_pilha *p);
int topo(int *i, tad_pilha *p);
int desempilha(int *t, tad_pilha *p);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment