Ich frage nach der Klammerübereinstimmung in C++C++

Programme in C++. Entwicklerforum
Anonymous
 Ich frage nach der Klammerübereinstimmung in C++

Post by Anonymous »

Ich arbeite gerade an meiner ersten Hausaufgabe zur Datenstruktur
Das Thema ist „Klammerabgleich“
Die Antwort in meinem Kopf ist einfach:
Schiebe einfach die öffnende Klammer auf den Stapel, und wenn du auf die schließende Klammer triffst, lass sie raus.
Nachdem ich meinen Code fertiggestellt habe, sende ich ihn an das Online-Bewertungssystem unserer Schule.
Nur erhalten 9 von 10 Fragen wurden korrigiert.
Hier ist mein C++-Code
Gibt es eine Situation, die ich in diesem Code übersehen habe?? Vielen Dank an alle!
Frage
Die Frage ist, dass eine Ganzzahl N < 1000 eingegeben werden soll, was bedeutet, dass die Testfälle
und die folgenden N Zeichenfolgen mit einer Länge < 1000 getestet werden sollten, ob es sich um eine gültige Zeichenfolge handelt.
Wenn ja, geben Sie Case N(von 1~N) aus: Ja
Nein, geben Sie Case aus N(von 1~N): Nein
String darf Zeilenumbruchzeichen enthalten

Code: Select all

   #Test cases

Input

2
[][]()[{}]
}

Output

Case 1: Yes
Case 2: No
Lösung

Code: Select all

#include 
#include 
using namespace std;

class PARENTHE
{
public:

PARENTHE(int slength);
~PARENTHE();

int StackSize() const;

bool StackEmpty() const;

char top() const;

void Push(const char);
void Pop();

private:
char *str;
int slength;
int stop;

};

PARENTHE::PARENTHE(int slength)
{

str = new char [slength];
stop = -1;
}

PARENTHE::~PARENTHE()
{ delete [] str; }

inline int PARENTHE::StackSize() const
{ return stop+1; }

inline bool PARENTHE::StackEmpty() const
{
return (stop == -1);
}

inline char PARENTHE::top() const
{ return str[stop]; }

void PARENTHE::Push(const char c)
{
str[++stop] = c;
}

void PARENTHE::Pop()
{
stop--;
}

int main()
{
int t;

while( cin>>t )
{

int i = 0;

while( i < t )
{

string temp;
cin>>temp;

if(temp == "\n")
{
cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post