IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Нахождение среднего из трех чисел, хочу узнать - можно ли сделать проще
Элис
сообщение 8.10.2005 0:51
Сообщение #1


Гость






Собственно - простейшая задача: есть три целых числа и надо найти среднее из них, то есть то, которое больше одного числа и меньше другого. все числа считаем разными.
Мне это дело пока с трудом дается, ну алгоритмы всякие и вот какой у меня родился код:

if (x > y) or (x > z) then
if(x < y) or (x < z) then
writeln(x)
else
if (y > z) then
writeln(y)
else
writeln(z)
else
if (y > z) then
writeln(z)
else
writeln(y);

Вроде работает правильно, при любых комбинациях чисел. Но у меня сомнения собственно по алгоритму - может быть можно сделать как-то проще, короче, красивее, может у меня запутанный и непонятный способ, а есть гораздо более просто, но я его не вижу...
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 8.10.2005 9:38
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Вот так будет привильно :

Код
uses crt;
var
  a,b,c : integer;

Begin
  clrscr;

  readln(a);
  readln(b);
  readln(c);

  writeln;

  if ((a > b) and (a < c)) or ((a > c) and (a < b))  then
   writeln(a)
  else
   if ((b > a) and (b < c)) or ((b > c) and (b < a)) then
    writeln(b)
   else
     writeln(c);

  readln;

end.


Сообщение отредактировано: klem4 - 8.10.2005 9:38


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 6:52
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"