mam za ulohu zadanie, kde mam pouzit rekurziu: Máme osít N záhonů. Na každém záhonu může být buď mrkev nebo petržel, avšak nikdy nesmí být žádné dva sousední záhony osety petrželí. Sestavte program, který ze standardního vstupu přečte počet záhonů N a na standardní výstup vypíše číslo P, kde P je počet různých přípustných osetí.
Snažte se o efektivní výpočet. Vstupní číslo N nesmí být větší než 44. Pro výpočty použijte typ longint.
napisala som uz aj program, ale nechce mi to skompilovat a nerozumiem preco..pomoze niekto?
//zdrojáky patria do code, prečítaj si pravidlá: http://www.hojko.com/citajte-pred-zaloz ... 23064.html
chyba, ktoru mi pise je:
mrkva.pas(10,25) Fatal: Syntax error, ")" expected but ";" found
pomozte, prosim..PASCAL
Re: pomozte, prosim..PASCAL
Bodkociarka oddeluje argumenty funkcie? Odkedy?
Re: pomozte, prosim..PASCAL
odteraz?
do pascalu sa vobec nerozumiem..
ja ani neviem ci sa to da napisat takto do jedneho riadku ze function pocetmp(a:longint;my:boolean):longint; ked su v zatvorke dva rozne typy...
to zadanie funkcie mam len odpisane z tabule od profaka..ale akoze chapem co by to malo robit...
ja ani neviem ci sa to da napisat takto do jedneho riadku ze function pocetmp(a:longint;my:boolean):longint; ked su v zatvorke dva rozne typy...
to zadanie funkcie mam len odpisane z tabule od profaka..ale akoze chapem co by to malo robit...
Re: pomozte, prosim..PASCAL
No v pascale robim v skole, ale nevenujem sa mu. Ja osobne som skusal raz davat argument funkcii, kde oba boli rozneho typu a neslo mi to. Kazdopadne skus to s tou ; ale iba v deklaracii funkcie. Ked budes tu funkciu volat, tak tam davaj iba "," (cire ciarku). Daj vediet vysledok.
Re: pomozte, prosim..PASCAL
Ale čoby, v deklarácií je dobre bodkočiarka. Ale vo volaní funkcie sa má dávať čiarka.
Toto už pôjde skompilovať. Až teda na tú premennú a, ktorú ti nepozná. Nemá tam byť náhodou c? 
// Jaj kua wolf, zle som ťa prečítal. Dobre si poradil
No ale samozrejme, že rôzne typy vo funkciách idú 
Kód: Vybrať všetko
program mrkev;
var pocet:longint;
c,b:boolean;
x,y:longint;
function pocetmp(a:longint; my:boolean):longint;
begin
if my=false then
begin
pocetmp:=pocetmp(a-1, true);
end else
pocetmp:=pocetmp(a-1,true)+pocetmp(a-1,false);
pocetmp:=pocetmp(a,true)+pocetmp(a,false);
end;
begin
readln(pocet);
c:=true;
b:=false;
x:=pocetmp(pocet,b);
y:=pocetmp(pocet,a); {Tu je chyba!}
writeln(x+y);
end.// Jaj kua wolf, zle som ťa prečítal. Dobre si poradil
Re: pomozte, prosim..PASCAL
presne tak ako ste mi pomohli
a malo tam byt c, jasne
dakujem velmi pekne :-*
uz to skompilovalo, ale stale to mam zle..
uz to skompilovalo, ale stale to mam zle..