Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2009, 01:28   #1
fermerius
Пользователь
 
Регистрация: 15.10.2009
Сообщений: 11
По умолчанию Среднее число по величине из трех введенных

Можно ли как-то выбрать среднее число из трех введенных, кроме как операторами if.. then ? т.е. числа: 3,9,7. чтобы выводилось среднее, в этом случае 7.

У меня только так получилось:

if a<b then
if b<c then writeln(b);
if a>b then
if b>c then writeln(b);


if a>b then
if a<c then writeln(a);
if a<b then
if a>c then writeln(a);


if c<b then
if c>a then writeln(c);
if c>b then
if c<a then writeln(c);
fermerius вне форума Ответить с цитированием
Старый 15.10.2009, 16:24   #2
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
Радость

например так
Код:
if a in [b..c]
 then write(a)
 else
    if b in [a..c]
      then write(b)
      else
        write(c);
без if тут не обойтись, но код стал выгядеть красивее - и быстрее выполняется!
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 15.10.2009, 23:06   #3
fermerius
Пользователь
 
Регистрация: 15.10.2009
Сообщений: 11
По умолчанию

Спасибо) это то что нужно )
fermerius вне форума Ответить с цитированием
Старый 16.10.2009, 00:07   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,673
По умолчанию

Вариант без использования оператора IF:

Код:
function Max (A, B: Integer): Integer;
begin
  Result := (A + B + Abs (A - B)) div 2;
end; {func Max}

function Min (A, B: Integer): Integer;
begin
  Result := (A + B - Abs (A - B)) div 2;
end; {func Max}

var A, B, C, Sred: Integer;

begin
  A := 15;
  B := 5;
  C := 10;
  Sred := Min (Min (Max (A, B), Max (B, C)), Max (A, C));
  WriteLn (Sred);
  ReadLn;
end.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка введенных данных viscas PHP 4 01.06.2009 02:41
суммирование данных, введенных в форму German Microsoft Office Excel 4 02.02.2009 07:31
проверка введенных данных Elm0 Общие вопросы Delphi 4 19.12.2008 19:00
Пользователь вводит число критериев от 1 до 30. К каждому из введенных критериев может ввести от 1 до 10 Biowulf86 Общие вопросы Delphi 6 22.09.2007 00:24