Ovde je najmanji problem rad sa stringovima.
Ono što tebi treba (ako sam dobro shvatio) je da utvrdiš da li su dva logička izraza ekvivalentna (daju iste rezultate za iste vrednosti promenljivih).
Tu postoji više pristupa.
1. Možeš da izparsiraš obe formule, napraviš dva drveta izraza i identifikuješ promenljive.
Za svaku moguću kombinaciju promenljivih izračunaš rezultat oba izraza.
Ako je za svaku kombinaciju rezultat isti, onda su izrazi ekvivalentni.
2. Isto kao pod 1, stim da koristiš neku gotovu parser-evaluator biblioteku.
3. Izparsiraš obe formule, napraviš dva drveta izraza.
Oba drveta izraza pretvoriš u neku normalnu logicku formu (KDNF
http://en.wikipedia.org/wiki/Disjunctive_normal_form).
Ako su oba KDNF drveta ista, onda su i izrazi isti.
Sve u svemu, problem uopšte nije prost i više se dotiče matematičke logike i ostalih stvari nego C++ ili stringova.
Sigurno da ima i drugih a verovatno i boljih pristupa, pa neka se javi neko ko zna bolje, ovo ti je onako na prvu loptu.
Tema je više za forume tipa matematika-kompajleri-parseri i slično pa ako neko može neka je premesti.
Pozdrav!