Pilhas - help

1. Pilhas - help

felipe
filsoldier

(usa Fedora)

Enviado em 02/06/2010 - 13:47h

Olá meus caros ! desde já agradeço a atenção de todos vocês e me perdoem por estar incomodando, eu fiquei ate 4:35 da manha tentando e não deu certo.

Preciso colocar os dados de um vetor em uma pilha e ir alterando as posições de acordo com a leitura externa de arquivo.txt.
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

#define max 25
int main()
{

FILE *fp;
int i,j,tam,bloco1[max],bloco2[max];
char modo[max][10],posicao[max][10];
fp = fopen("arquivo.txt", "r");
fscanf(fp,"%d",&tam);
printf("Tamanho definido pelo arquivo de origem:%d\n\n",tam);

/**********************************FUNÇÕES*************************************/

int pilha1[max]; // Vetor onde serão guardados os elementos
int tp1=tam; // Inteiro que diz o tamanho da pilha/ definido pelo arquivo entrada.txt
if(tam==0)//verifica se a pilha está vazia
printf("Pilha Vazia.:");
/********************pilha 2*******************/
int pilha2[max]; // Vetor onde serão guardados os elementos
int tp2=tam; // Inteiro que diz o tamanho da pilha/ definido pelo arquivo entrada.txt
if(tam==0)//verifica se a pilha está vazia
printf("Pilha Vazia.:");
/***inserindo dados da pilha e verificando se ha espaço*/

//pilha[tp++] = bloco1;
/*****Retira o elemento da pilha********************************/

//bloco1 = pilha[--tp];

/******************************************************************************/
//do
//{
for (i=1;i<tam;i++)
{
fscanf(fp,"%s %d %s %d", &modo[i], &bloco1[i], &posicao[i],&bloco2[i]);

if(strcmp("mover",modo[i])==0)//compara uma strings
{
printf("1 - funcao: \n\n\n");

printf("%d\n",pilha1[tp1++]);

pilha1[tp1++] = bloco2[i];
pilha2[tp2++] = bloco1[i];//Mudando as posiciões


printf("%d : %d(topo)\n\n********************************\n",pilha1[tp1++], pilha2[tp2++]);//imprimi pilha com pociões alterandas

//retirar e colocar para chamar a função.
}

if(strcmp("move",modo[i])==0)//compara uma strings
{
printf("2 - funcao: \n\n\n");//retirar e colocar para chamar a função.

pilha1[tp1++] = bloco2[i];
bloco1[i];//Mudando as posiciões


printf("%d : %d(topo)\n\n********************************\n",bloco2[i],bloco1[i]);//imprimi pilha com pociões alterandas


}

if((strcmp("empilhar",modo[i])==0)&&(strcmp("acima",posicao[i])==0))//compara duas strings empilhar e posicao
{
printf("3 - funcao: \n\n********************************\n");//retirar e colocar para chamar a função.

pilha1[tp1++] = bloco2[i];
bloco1[i];//Mudando as posiciões


printf("%d : %d(topo)\n\n********************************\n",bloco2[i],bloco1[i]);//imprimi pilha com pociões alterandas

}

if((strcmp("empilhar",modo[i])==0)&&(strcmp("topo",posicao[i])==0))//compara duas strings empilhar e posicao
{
printf("4 - funcao: \n\n********************************\n");//retirar e colocar para chamar a função.
}

}
// i++;
// }while(i>tam);
fclose(fp);
system("pause");
}



  


2. Re: Pilhas - help

felipe
filsoldier

(usa Fedora)

Enviado em 02/06/2010 - 13:50h

Desculpem a minha ignorância tem muito tempo que não dou nenhuma pincelada no 'C',

obs: descartem os comentarios no codigo, eu estava como um zumbi..






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts