Skocz do zawartości

zliczanie nawiasów


zixxus

Polecane posty

programik ma zliczyc nawiasy " ( ) "

 

program licz_znaki;
var liczba_sp, i, dlugosc: integer;
liczba_sd, o, dlug: integer;
tekst: string;
procedure zliczaj(var licznik: integer);
procedure zlicza(var liczni: integer);
begin
     	licznik:=licznik+1;
     	liczni:=liczni+1;
end;
BEGIN
liczba_sp:=0;
liczba_sd:=0;
writeln('wpisz tekst: ');
readln(tekst);
dlugosc:=length(tekst);
for i:=dlugosc downto 1 do if tekst[i]='(' then zliczaj(liczba_sp);
for o:=dlug downto 1 do if tekst[o]=')' then zlicza(liczba_sd);
writeln('liczba () wynosi: ',liczba_sp, liczba_sd);
readln;
END.

Link do komentarza
Udostępnij na innych stronach

No i w czym problem? Kod swój sformatowałeś w "popularnym" niestety "stylu" tak zwanym "z d...", czyli brak sensownego formatowania. Ale wyraźnie widać, że źle napisałeś procedury. Tak to nie może wyglądać. Poczytaj kursy z podstawami, jak sie deklaruje procedury i je definiuje, to będziesz wszystko wiedział. Poza tym najwygodniej było by zwracać ilośc nawiasów, jeżeli nie możesz tego robić jako normalną zmienną, to przez funkcje, a nie procedury. A i zmienna dlug nie jest zainicjowana.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

to działa :D

 

teraz chciałbym żeby zmiejszyło to swoją wielkość, na razie po skąplikowaniu wynosi ok. 60 000 B a chciałbym żeby wynosiło maksymalnie 50 000 B. Pomożecie troszke odchudzic ?

 

program licz_znaki;
var liczba_sp, i, dlugosc: integer;
liczba_sd: integer;
	tekst: string;
procedure zliczaj(var licznik: integer);
	begin
     	licznik:=licznik+1;
	end;
BEGIN
liczba_sp:=0;
liczba_sd:=0;
writeln('wpisz tekst: ');
readln(tekst);
dlugosc:=length(tekst);
for i:=dlugosc downto 1 do if tekst[i]='(' then zliczaj(liczba_sp);
for i:=dlugosc downto 1 do if tekst[i]=')' then zliczaj(liczba_sd);
{writeln('liczba () wynosi: ',liczba_sp, ' ',liczba_sd);   }
if (tekst[1]='(')and((liczba_sp + liczba_sd) mod 2=0) then writeln('tak') else writeln('nie');
readln;
END.

Link do komentarza
Udostępnij na innych stronach

Kompiluj pod Delphi 7 jako aplikacje konsolową, to będzie zajmowało i poniżej 10 kb nawet. A exek jeżeli nie jest 64 bitowy co w tym przypadku nie ma i tak sensu, ale zależy od kompilatora. Możesz spakować UPX'em albo innym pakerem do exeków. Pogooguj sobie na ten temat. Bo tego kodu i tak juz nie odchudzisz.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...