J'essaye d'implémenter le préfixe pour infixer en C++, c'est ce que j'ai jusqu'ici. L'entrée doit être par exemple quelque chose comme ceci:préfixe à infixe sur la pile
/7+23
Et le ouput:
7/(2+3) or (7/(2+3))
Mais au lieu que je reçois:
(/)
C'est le code que j'ai écrit jusqu'à présent:
void pre_to_in(stack<char> eq) {
if(nowe.empty() != true) {
char test;
test = eq.top();
eq.pop();
if(test == '+' || test == '-' || test == '/' || test == '*') {
cout << "(";
pre_to_in(eq);
cout << test;
pre_to_in(eq);
cout << ")";
} else {
cout << test;
}
}
}
// somewhere in main()
char arr[30];
stack<char> stosik;
int i = 0;
cout << "write formula in prefix notation\n";
cin >> arr;
while(i < strlen(arr)) {
stosik.push(arr[i]);
i++;
}
pre_to_in(stc);
Est-ce que ce sont les devoirs? Si oui, identifiez-le comme tel. –
Merci d'avoir d'abord essayé le problème, puis de nous avoir montré toutes les informations dont vous disposez. * Merci. * – GManNickG
Voulez-vous dire de copier en valeur, ou avez-vous oublié un &, par exemple: pre_to_in (pile & eq)? –
Mic