Dodaj do ulubionych

turbo pascal

11.12.05, 20:14
Witam mam taki kod i potrzebuje go tak zoptymalizować aby tylko liczył litery
w podanym mu wyrazie.Mam nadzieje ze znajdzie sie ktoś chętny do pomocy.
Dzięki.

uses crt;
var
slowo:string;
l,dl,i,j:byte;

begin
clrscr;
readln(slowo);
dl:=length(slowo);
writeln('dlogosc slowa: ',dl);

for i:=dl downto 1 do begin
for j:=1 to dl do begin
if slowo[i]=slowo[j] then
inc(l);
end;
writeln(slowo[i],' - ',l);
l:=0;
end;
readln;
end.
Obserwuj wątek
    • pciuch_nr_24 Re: turbo pascal 16.01.06, 13:25
      kolor23 napisał:

      > Witam mam taki kod i potrzebuje go tak zoptymalizować aby tylko liczył litery
      > w podanym mu wyrazie.Mam nadzieje ze znajdzie sie ktoś chętny do pomocy.
      > Dzięki.
      >
      > uses crt;
      > var
      > slowo:string;
      > l,dl,i,j:byte;
      >
      > begin
      > clrscr;
      > readln(slowo);
      > dl:=length(slowo);
      > writeln('dlogosc slowa: ',dl);
      >
      > for i:=dl downto 1 do begin
      > for j:=1 to dl do begin
      > if slowo[i]=slowo[j] then
      > inc(l);
      > end;
      > writeln(slowo[i],' - ',l);
      > l:=0;
      > end;
      > readln;
      > end.

      a: array[0..255] of Integer;

      for i := 0 to 255 do a[i] := 0;

      for i := 1 to Length(slowo) do
      Inc(a[chr(slowo[i])])

      teraz w tablicy a:
      adres to kod chr znaku, a wartość to ilość wystąpień tego znaku

      np a[32] - ilość wystąpnień znaku o kodzie 32 - o ile pamiętam spacji :)

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka