O Mesmo princípio de Pilhas com inteiros, porém, agora com Strings
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/////////////////////////////////////////////////////////////
////////////////////////// defines //////////////////////////
/////////////////////////////////////////////////////////////
#define MAX 100 // mudar tamanho da pilha
typedef char TIPO_STACK; // mudar o tipo de pilha
/////////////////////////////////////////////////////////////
///////////////////// variaveis globais /////////////////////
/////////////////////////////////////////////////////////////
TIPO_STACK stack[MAX];
int top = -1;
/////////////////////////////////////////////////////////////
/////////////////// protótipos de funções ///////////////////
/////////////////////////////////////////////////////////////
void pop( TIPO_STACK * );
void push( TIPO_STACK );
////////////////////////////FUNÇÃO///////////////////////////
//////////////////////////// MAIN ///////////////////////////
/////////////////////////////////////////////////////////////
int main(void)
{
char fraseOriginal[MAX], fraseInvertida[MAX];
int i, tamanho;
printf(“n=== Checar existencia de palindromo ===nn Entre com a frase a ser checada n(sem caracteres especiais e sem espacos) nnFrase: “);
scanf(“%s”, fraseOriginal);
//// coloca frase na pilha ////
tamanho = strlen( fraseOriginal );
for( i = 0; i < tamanho; i++ )
push( fraseOriginal[i] );
//// tira frase da pilha, agora invertida ////
for( i = 0; i < tamanho; i++ )
pop( &fraseInvertida[i] );
fraseInvertida[tamanho] = ‘{FONTE}’; // finaliza string invertida
//// mostra frase invertida ////
printf(“Frase Invertida: %s”, fraseInvertida);
system(“Pause”);
//// checa se as duas strings sao iguais ////
if( !strcmp( fraseOriginal, fraseInvertida) )
printf(“nResultado: Confere, palindromo existentenn”);
else
printf(“nResultado: Nao conferenn”);
return ( 0 );
} // fim main
////////////////////////////FUNÇÃO///////////////////////////
/// Nome: pop() ///
/// Descricao: remove elemento da pilha ///
/////////////////////////////////////////////////////////////
void pop( TIPO_STACK *elemento )
{
if( top == -1 ) // pilha vazia
printf(“npilha vazian”);
else {
*elemento = stack[top];
top–;
}
} // fim funcao
////////////////////////////FUNÇÃO///////////////////////////
/// Nome: push() ///
/// Descricao: insere elemento na pilha ///
//////////////////////////////////////////////////////////////
void push( TIPO_STACK elemento )
{
if( top == MAX ) // pilha cheia
printf(“npilha cheian”);
else {
top++;
stack[top] = elemento;
}
} // fim funcao
2 Comentários. Deixe novo
[…] de tecnologia sempre se deparam com pilhas, pensando nisso, temos no Purainfo pilhas em C++, Pilhas com String em C++. Agora, graças ao programador Salvador da Pátria Jefferson costa, temos uma Pilha com […]
[…] de tecnologia sempre se deparam com pilhas, pensando nisso, temos no Purainfo pilhas em C++, Pilhas com String em C++. Agora, graças ao programador Salvador da Pátria Jefferson costa, temos uma Pilha com […]