[Pascal] Program rozpoznający wyrażenia nawiasowe.

wozszym
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 25 kwie 2009, o 16:09
Płeć: Mężczyzna
Podziękował: 2 razy

[Pascal] Program rozpoznający wyrażenia nawiasowe.

Post autor: wozszym »

Witam, chcę napisać program, który rozpoznaje wyrażenia nawiasowe(czy składa się z samych nawiasów '(' i ')' i czy w każdym miejscu jest niemniej nawiasów '(' niż ')', no i czy jest ich w sumie tyle samo ). Napisałem coś takiego, ale nie wiem czemu to nie działa...

Kod: Zaznacz cały

program wyrazenia_nawiasowe;
var wyrazenie: String;
tab: array[1..10000] of Integer;
z,n: Longint;

function nawiasy(znak: Char): Boolean;
begin
 nawiasy := (znak = '(') or (znak = ')');
end;

function dobry(t: String): Boolean;
var i,k,l,j: Longint;

begin
dobry:= true;
for j:=1 to Length(t) do
if not nawiasy(t[j]) then dobry:=false;


if dobry then
begin
 for i:=1 to Length(t) do
 begin
 if t[i]='(' then k:=k+1;
 if t[i]=')' then l:=l+1;
 if k<l then dobry:=false;
 end;
if k<>l then dobry:=false;
end;
end;

begin
Read(n);
for z:=1 to n do
begin
Read(wyrazenie);
if dobry(wyrazenie) then tab[z]:=1 else tab[z]:=0;
end;
for z:=1 to n do
begin
if tab[z]>0 then
Writeln('TRUE') else Writeln('FALSE');
end;


end.
Ostatnio zmieniony 25 lip 2012, o 15:07 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
ksisquare
Użytkownik
Użytkownik
Posty: 132
Rejestracja: 1 cze 2012, o 07:04
Płeć: Mężczyzna
Lokalizacja: Polska
Pomógł: 15 razy

[Pascal]-program rozpoznający wyrażenia nawiasowe.

Post autor: ksisquare »

w dobry() masz napisane k:=random(pi*drzwi)
serio!
Ostatnio zmieniony 25 lip 2012, o 15:12 przez Afish, łącznie zmieniany 1 raz.
Powód: Stosuj tagi.
wozszym
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 25 kwie 2009, o 16:09
Płeć: Mężczyzna
Podziękował: 2 razy

[Pascal]-program rozpoznający wyrażenia nawiasowe.

Post autor: wozszym »

To jak mam to zmienić? Przecież chyba tak się wprowadza parametry.

Ale ja się dopiero uczę programować. Nie wiem jak się robi tagi.
ksisquare
Użytkownik
Użytkownik
Posty: 132
Rejestracja: 1 cze 2012, o 07:04
Płeć: Mężczyzna
Lokalizacja: Polska
Pomógł: 15 razy

[Pascal] Program rozpoznający wyrażenia nawiasowe.

Post autor: ksisquare »

A możesz pokazać gdzie jest to radom(...?-- 25 lip 2012, o 23:05 --Złota rybko, poniżej mojej i Twojej godnosci jest napominanie mnie o "tagowaniu
Proszę redaguj, ale nie napominaj, bo jak rozróżnić język programowania od nuralnego czy od formalizmu matematyki?
ODPOWIEDZ