![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Элис |
![]()
Сообщение
#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); Вроде работает правильно, при любых комбинациях чисел. Но у меня сомнения собственно по алгоритму - может быть можно сделать как-то проще, короче, красивее, может у меня запутанный и непонятный способ, а есть гораздо более просто, но я его не вижу... |
kent |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 50 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
если число целое, можно вот так:
|
Fang |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Fang Репутация: ![]() ![]() ![]() |
У меня вот так получилось:
Код if (a > b) and (a < c) then writeln(a) else if (b > a) and (b < c) then writeln(b) else writeln(c); Вроде как проще, да и кода поменьше. |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Fang, а ты уверен что твоя программа правильно работает
![]() попробуй например a=1 b=0 c=-1 ? Сообщение отредактировано: klem4 - 8.10.2005 8:25 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Вот так будет привильно :
Код 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";'
|
Fang |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Fang Репутация: ![]() ![]() ![]() |
Цитата(klem4 @ 8.10.2005 9:23) Fang, а ты уверен что твоя программа правильно работает ![]() попробуй например a=1 b=0 c=-1 ? Точно! Спасибо! |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Как вариант:
function min(a, b: integer): integer; |
APAL |
![]()
Сообщение
#8
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Еще вариант - с массивом.
For i:=1 to 2 do -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 6:54 |