Ir ao conteúdo
  • Cadastre-se

C Converter codigo de C++ em C


Posts recomendados

Preciso passa esse codigo de C++ para C alguem pode me ajudar? 

Esse é o codigo que quero passar:

#include <iostream>
#include <stack>
using namespace std;

int main() {
  stack<char> st;

  string expressao;
  cout << "Digite a expressao: ";
  cin >> expressao;


 int i;
 bool valid = false;

 for(i=0; i < expressao.size(); i++) {
 if (expressao[i] == '(')
	  st.push(expressao[i]);
 else if (expressao[i] == ')') {
	  if (st.empty())
			  goto FIM;
	  st.pop();
 }
 }

 valid = st.empty();

 FIM:

  if (valid)
cout << "Expressao valida" << endl;
  else
cout << "Expressao invalida" << endl;
}

E esse é o que estou tentando em C

int main(){
char pilha[max_pilha];
int i;
printf ("Digite a expreção que deseja verificar:");
scanf ("%c", &pilha[i]);

for(i=0; i < max_pilha; i++) {
 if (pilha[i] == '(')  
	Pilha_Push(pilha[i]);
else (pilha[i] == ')') 
   Pilha_Pop(pilha[i]);
 }
} 
 
if (max_pilha=0)
Printf ("Expressao valida");
else
Printf ("Expressao invalida");
}
 

Alguem pode me ajudar ?

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

 

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

#define MAX_PILHA 50

int topo = -1;
char pilha[MAX_PILHA];

void push(char);
void pop();
void verificaTopo();

int main()
{
	int i;
	char expressao[MAX_PILHA];

	printf("Digite a expressao: ");
	scanf("%s", &expressao);

	for (i = 0; expressao[i] != '\0'; i++) {
		if(expressao[i] == '(') {

			push(expressao[i]);
		} else if(expressao[i] == ')') {
			pop();
		}
	}
	verificaTopo();
}

void push(char a)
{
	pilha[topo] = a;
	topo++;
}

void pop()
{
	if (topo == -1) {
		printf("Expressao invalida\n");
		exit(0);
	} else {
		topo--;
	}
}

void verificaTopo()
{
	if (topo == -1)
		printf("\nExpressao valida\n");
	else
		printf("\nExpressao invalida\n");
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...