Zwracanie wartości

  • Rejestracja: dni
  • Ostatnio: dni
0

Mam taką funkcję w Delphi:

Kopiuj
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?:

Kopiuj
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;
}
hauleth
  • Rejestracja: dni
  • Ostatnio: dni
0

Tak

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Poza tym możesz to zapisać tak:

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.