Obsługa ISCAS89 w C++;
Ostatnio zmodyfikowano 2014-11-01 07:55
ChomikPL Temat założony przez niniejszego użytkownika |
Obsługa ISCAS89 w C++; » 2014-11-01 07:55:23 Witam, Mam za zadanie napisać program rozwiązujący D-Algorythm opisany w pliku typu ISCAS89. Zacząłem robić to na piechotę oto kod ISCAS'A: input (G0) input (G1) input (G2) input (G3) output (G8) AND1 = AND(G0, NOT1) NOT1 = NOT(G1) AND2 = AND(NOT1, G3) OR1 = OR(G4, NOT1) NOR1 = NOR(AND1, AND2, OR1) To jest w miarę mały plik tego typu, zastanawiam się jak zmusić program do wyszukiwania frazy "G<Liczba 0 ... n>" tak żebym mógł dowiedzieć się G(ile) jest w AND1 a G(ile) jest w AND2 w przypadku nawet gdy tych "G" będzie G100 ... Proszę o pomoc, lub podpowiedź jak w prostszy sposób mógłbym sprawić, że program zrozumie te dane ;)) A oto program: #include <iostream> #include <fstream> #include <string> #include <sstream> #include <cstdlib> #include <algorithm>
std::string to_upper( std::string napis ) { transform( napis.begin(), napis.end(), napis.begin(),::toupper ); return napis; }
int main() { std::ifstream plik; std::string Tekst; plik.open( "iscas89.txt" ); int IloscWejsc = 0; int IloscWyjsc = 0; while( !plik.eof() ) { std::getline( plik, Tekst ); Tekst = to_upper( Tekst ); if( Tekst.find( "INPUT" ) != std::string::npos ) { std::cout << "Jest Input\n"; IloscWejsc++; } if( Tekst.find( "OUTPUT" ) != std::string::npos ) { std::cout << "Jest Output\n"; IloscWyjsc++; } } int IloscAND = 0; int IloscOR = 0; int IloscNOT = 0; int IloscNOR = 0; plik.close(); plik.open( "iscas89.txt" ); while( !plik.eof() ) { std::getline( plik, Tekst ); Tekst = to_upper( Tekst ); if( Tekst.find( "AND" ) != std::string::npos ) { std::cout << "Jest AND\n"; IloscAND++; } if( Tekst.find( "OR" ) != std::string::npos ) { std::cout << "Jest OR\n"; IloscOR++; } if( Tekst.find( "NOT" ) != std::string::npos ) { std::cout << "Jest NOT\n"; IloscNOT++; } if( Tekst.find( "NOR" ) != std::string::npos ) { std::cout << "Jest NOR\n"; IloscNOR++; } } bool Input[ IloscWejsc ]; bool Output[ IloscWyjsc ]; }
|
|
« 1 » |