Guest - Marcos - Postado Junho 8, 2006 Denunciar Share Postado Junho 8, 2006 Por favor, quem puder me ajudar!!!Ñão estou conseguindo fazer esse programa funcionar, qual problema dele???#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>void inicializa()void destroi(struct Pil *p, char y)vazia()vogal()aloca()inserir()typedef struct no Pil{ char y; struct no *prox;} ;typedef struct no No;struct no{ char y; No *que;};//-------------------------------------------------------------------vogal(char y){ char *v="AaEeIiOoUu"; while(*v) if(*v++==y) return 1; return 0; }//-------------------------------------------------------------------void inicializa(){ p->NULL;}//-------------------------------------------------------------------vazia(){ return(p=NULL);}//-------------------------------------------------------------------aloca(Pil *p, int y){ struct Pil *aux; *aux=malloc(sizeof(Pil)); *aux->info=y; *aux->prox=*p; *p=*aux; *aux=NULL;}//-------------------------------------------------------------------void destroi(struct Pil *p, char y){ struct Pil *aux; if(!vazia(&p)){ y=p->info; aux=p; p=p->prox; free(aux); }}//-------------------------------------------------------------------No* inserir(No *cabeca, char y, No *pos){ No *novo; novo=malloc(sizeof(No)); novo->d=y; if(pos==NULL){ novo->que=cabeca; cabeca=novo; } else{ novo->que=pos->que; pos->que=novo; } return(cabeca);}//--------------------------------------------------------------------void main(){ char y,p; FILE *z; No* inicio=NULL; z=fopen("W:\decript.txt","rt"); while(!feof(z)){ y=fgetc(z); inicio=inserir(inicio,y,NULL); } while(final<>NULL){ if(vogal(y)) printf("%c",y); else{ inicializa(&p); do{ scanf("%c",&y); aloca(&p,y); }while(!vogal(y)) while(!vazia(&p)){ y=destroi(&p,y); printf("%c",y); }Obrigado!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ø£¡vë¡®'§® Postado Junho 8, 2006 Denunciar Share Postado Junho 8, 2006 rapais... da até medo de ver esse programa... está todo destruturado... no inicializa a parte "p->NULL;"cara isso não existe... você tem que fazer assimp = NULL para inicializar uma variavel de estrutura...fora que esse programa está chamando rotinas fora do seu corpo principale de qualquer outra funçãoestou meio ocupado e sem tempo... mais de uma avaliada certinha o programa... tem varios erros ai de lógica e de sintaxe...abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Marcos -
Por favor, quem puder me ajudar!!!
Ñão estou conseguindo fazer esse programa funcionar, qual problema dele???
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
void inicializa()
void destroi(struct Pil *p, char y)
vazia()
vogal()
aloca()
inserir()
typedef struct no Pil{
char y;
struct no *prox;
} ;
typedef struct no No;
struct no{
char y;
No *que;
};
//-------------------------------------------------------------------
vogal(char y)
{
char *v="AaEeIiOoUu";
while(*v)
if(*v++==y)
return 1;
return 0;
}
//-------------------------------------------------------------------
void inicializa()
{
p->NULL;
}
//-------------------------------------------------------------------
vazia()
{
return(p=NULL);
}
//-------------------------------------------------------------------
aloca(Pil *p, int y)
{
struct Pil *aux;
*aux=malloc(sizeof(Pil));
*aux->info=y;
*aux->prox=*p;
*p=*aux;
*aux=NULL;
}
//-------------------------------------------------------------------
void destroi(struct Pil *p, char y)
{
struct Pil *aux;
if(!vazia(&p)){
y=p->info;
aux=p;
p=p->prox;
free(aux);
}
}
//-------------------------------------------------------------------
No* inserir(No *cabeca, char y, No *pos)
{
No *novo;
novo=malloc(sizeof(No));
novo->d=y;
if(pos==NULL){
novo->que=cabeca;
cabeca=novo;
}
else{
novo->que=pos->que;
pos->que=novo;
}
return(cabeca);
}
//--------------------------------------------------------------------
void main(){
char y,p;
FILE *z;
No* inicio=NULL;
z=fopen("W:\decript.txt","rt");
while(!feof(z)){
y=fgetc(z);
inicio=inserir(inicio,y,NULL);
}
while(final<>NULL){
if(vogal(y))
printf("%c",y);
else{
inicializa(&p);
do{
scanf("%c",&y);
aloca(&p,y);
}while(!vogal(y))
while(!vazia(&p)){
y=destroi(&p,y);
printf("%c",y);
}
Obrigado!!!!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.