pomozte, prosim..PASCAL

Programovacie jazyky, rady, poradňa...
daniela13
Novice
Novice
Príspevky: 3
Registrovaný: 28 nov 2010, 16:54

pomozte, prosim..PASCAL

Príspevok od používateľa daniela13 »

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
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: pomozte, prosim..PASCAL

Príspevok od používateľa metthal »

Bodkociarka oddeluje argumenty funkcie? Odkedy?
daniela13
Novice
Novice
Príspevky: 3
Registrovaný: 28 nov 2010, 16:54

Re: pomozte, prosim..PASCAL

Príspevok od používateľa daniela13 »

odteraz? :D 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...
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: pomozte, prosim..PASCAL

Príspevok od používateľa metthal »

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.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: pomozte, prosim..PASCAL

Príspevok od používateľa BX »

Ale čoby, v deklarácií je dobre bodkočiarka. Ale vo volaní funkcie sa má dávať čiarka.

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.
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 :D No ale samozrejme, že rôzne typy vo funkciách idú ;)
daniela13
Novice
Novice
Príspevky: 3
Registrovaný: 28 nov 2010, 16:54

Re: pomozte, prosim..PASCAL

Príspevok od používateľa daniela13 »

presne tak ako ste mi pomohli :) a malo tam byt c, jasne :) dakujem velmi pekne :-*





uz to skompilovalo, ale stale to mam zle..
Napísať odpoveď