Zwracanie wartości

0

Mam taką funkcję w Delphi:

function POWROT(Kpoc, Ppoc, Pkon, nrP: integer) : boolean;
var 
i:integer;
begin
for i:=1 to Lp do
    if (Kpoc+Czas[Ppoc,Pkon]+obsPkt[i]+Czas[Pkon,0] > zBaz)or
    (Kpoc+Czas[Ppoc,Pkon]+obsPkt[i] > zPkt[i])
    then POWROT:=false
    else POWROT:=true;
end;

Jak to zapisać w C++? A konkretnie fragment POWROT:=... Czy to jest odpowiednik?:

bool POWROT(int Kpoc,int Ppoc,int Pkon,int nrP)
{
    for(int i=1; i<=Lp; i++)
    {
        if((Kpoc+Czas[Ppoc][Pkon]+obsPkt[i]+Czas[Pkon][0] > zBaz)||
            (Kpoc+Czas[Ppoc][Pkon]+obsPkt[i] > zPkt[i]))
            return false;
    }
    return true;
}
0

Tak

0

Z tą różnicą, że w C++ return powoduje natychmiastowe wyjście z funkcji.

Poza tym możesz to zapisać tak:

POWROT := not((Kpoc+Czas[Ppoc,Pkon]+obsPkt[i]+Czas[Pkon,0] > zBaz) or (Kpoc+Czas[Ppoc,Pkon]+obsPkt[i] > zPkt[i]));
return !((Kpoc+Czas[Ppoc][Pkon]+obsPkt[i]+Czas[Pkon][0] > zBaz)|| (Kpoc+Czas[Ppoc][Pkon]+obsPkt[i] > zPkt[i]));

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0