Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Функции


Автор: MaximV 26.4.2012, 15:10
Даны 4 произвольных целых чисел.Вычислить  S=max(a,b,c)+max(a,c,d)+max(a,b,d)+max(b,c,d).Нахождение максимального трех чисел оформить в виде функции

Автор: Mirkes 26.4.2012, 17:28
Код

function Max(A, B, C: Integer): Integer;
Begin
  If (A<B) Then Result:=B
               Else Result:=A;
  If (Result<C) Then Result:=C;
End;

Автор: iff 26.4.2012, 18:22
Mirkes, нужно объявить переменную Result и правильно возвращать значение. Например (программма полностью)
Код

Function Max(A, B, C : Integer) : Integer;
Var Result : Integer;
Begin
    Result := A;
    If B > Result Then Result := B;
    If C > Result Then Result := C;
    Max := Result;
End;

Var A, B, C, D, S : Integer;
Begin
    ReadLn(A, B, C, D);
    S := Max(A, B, C) + Max(A, C, D) + Max(A, B, D) + Max(B, C, D);
    WriteLn(S);
End.

Автор: Mirkes 27.4.2012, 03:02
Цитата(iff @ 26.4.2012,  18:22)
Mirkes, нужно объявить переменную Result и правильно возвращать значение. Например (программма полностью)
Код

Function Max(A, B, C : Integer) : Integer;
Var Result : Integer;
Begin
    Result := A;
    If B > Result Then Result := B;
    If C > Result Then Result := C;
    Max := Result;
End;

Var A, B, C, D, S : Integer;
Begin
    ReadLn(A, B, C, D);
    S := Max(A, B, C) + Max(A, C, D) + Max(A, B, D) + Max(B, C, D);
    WriteLn(S);
End.

В дельфи - не надо. Переменная Result  - это автоматически создаваемая переменная, которая будет возвращена. Честно говоря писал код для Дельфи. В классическом Паскале - вы правы, нужно объявлять переменную и потом делать присвоение имени функции.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)