Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ispravnost zagrada u pojedinom izrazu

[es] :: C/C++ programiranje :: Ispravnost zagrada u pojedinom izrazu

[ Pregleda: 1960 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

A90

Član broj: 52884
Poruke: 37
*.dlp253.bih.net.ba.



Profil

icon Ispravnost zagrada u pojedinom izrazu07.05.2006. u 19:43 - pre 187 meseci
Pozdrav svima

Kako mogu sljedeci kod uraditi preko stack-a?

#include <iostream.h>
#include<conio.h>

bool valid(const char * t)
{
unsigned int z[3] = {0};

while(*t) {
switch(*t){
case '(':
z[2]++;
break;

case ')':
if(z[2]==0)
{
cout << "Suvisna ')'.\n";
return false;
}

z[2]--;
break;


case '[':
if(z[2])
{
cout << "Nedozvoljeno otvaranje '['\n";
return false;
}
z[1]++;
break;

case ']':
if(!z[1])
{
cout << "Suvisna ']'.\n";
return false;
}
if(z[2])
{
cout << "Nedozvoljeno zatvaranje ']'.\n";
return false;
}
z[1]--;
break;


case '{':
if(z[2] || z[1])
{
cout << "Nedozvoljeno otvaranje '{'.\n";
return false;
}
z[0]++;
break;

case '}':
if(!z[0])
{
cout << "Suvisna '}'.\n";
return false;
}
if(z[1] || z[2])
{
cout << "Nedozvoljeno '}'.\n";
return false;
}
z[0]--;
}

t++;
}

if(z[0]||z[1]||z[2])
{
cout << "Nezatvorene zagrade:" << (z[0]?" {":" ") <<
(z[1]?" [":" ") << (z[2]?" (":"") << '\n';
return false;
}
cout<<"Zagrade su dobro zatvorene!";
return true;

}

void main()
{
char text[500];
cout<<"Unesite relaciju:";
cin.getline(text,500);

valid(text);
char z;
cin>>z;
getch();
}

Program provjerava ispravnost zagrada,tj.da li su sve zagrade u relaciji ispravno unesene.

Unaprijed hvala
 
Odgovor na temu

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.PPPoE-2204.sa.bih.net.ba.



+1 Profil

icon Re: Ispravnost zagrada u pojedinom izrazu07.05.2006. u 20:52 - pre 187 meseci
Evo u attachmentu. A ovaj kod ti ne radi baš najbolje. I sljedeći put stavi CODE tagove oko koda da bude čitljiviji.
Prikačeni fajlovi
 
Odgovor na temu

[es] :: C/C++ programiranje :: Ispravnost zagrada u pojedinom izrazu

[ Pregleda: 1960 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.