Informatică, întrebare adresată de Vovcik119, 9 ani în urmă

Va rog mult ajutor, realizati un subprogram recursiv cu functie care sa calculeze numarul de silabe 'ma' al unui cuvint dat.


artur99: Spune-i profului tău să îți dea întâi o librărie care face despărțirea în silabe în română, sau să îți spună regulile prin care se poate face aceasta automat :))

Răspunsuri la întrebare

Răspuns de Kirilll
0
function fun(s: string): real;var     i, j, k: integer;     res: real;
begin     readln(s);     res := 0;     for i:= 1 to Length(s) do     for j:= 1 to Length(s) do     begin          if (s[i] = 'm')  then          if (s[j] = 'a')  then          if (s[j-1]=s[i]) then          res := res + 1;          k:=1;          end;          if (k=1) then //sa nu fie am          writeln('asdad');          res := res/2;     fun := res;end;
begin     writeln(Fun('ma'));end.

Vovcik119: cum adica sa nu fie am?
Kirilll: Tie iti trebue silabe 'ma' dar ca sa nu fi eroare cu 'ma' invers,adica 'am' este scrisa codul cu k:=.Si cuvintul nu trebue sa fie doar 'ma',scuze doar asha am putut.
Vovcik119: Programa in general e gresit, trebuie doar o functie recursiva, tu inteo functie ai bagat tat programul. Plus numi socoate numarul de silabe
Vovcik119: Corect
Vovcik119: program belova;
function fun(s: string): real;
var i, j, k: integer; res: real;
begin
readln(s);
res := 0;
for i:= 2 to Length(s) do
begin
if (s[i-1] = 'm') and (s[i]='a') then
res := res + 1;
k:=1;
end;
if (k=1) then
writeln('Numarul de silabe ''ma'' egal cu'); fun := res;end;
begin writeln(Fun('ma'));
end.
Vovcik119: uite asa e corect, nici nu arata am, dar oricum nu e functie recursiva
Alte întrebări interesante