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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2015, 15:13   #1
Himik_ProgramisT
Новичок
Джуниор
 
Регистрация: 18.11.2015
Сообщений: 10
Сообщение помогите пожалуйста написать програму

дано три числа ,нужно чтобы програма выбирала среднее,тоесть не наиболие большое, и не наиболее маленькое.
вход: 3 7 4 исход: 4
помогите пожалуйста ,очень нужно(((

Последний раз редактировалось Himik_ProgramisT; 18.11.2015 в 15:21.
Himik_ProgramisT вне форума Ответить с цитированием
Старый 18.11.2015, 15:56   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
var
    a1, a2, a3: integer;
 
begin
    write ('Введите три числа: ');
    readln (a1, a2, a3);
 
    if (a1 = a2) or (a1 = a3) or (a2 = a3) or ((a1 = a2) and (a2 = a3)) then
        writeln('Ошибка')
    else
        if ((a1 > a2) and (a1 < a3)) or ((a1 < a2) and (a1 > a3)) then
            writeln(a1)
        else
            if ((a2 > a1) and (a2 < a3)) or ((a2 < a1) and (a2 > a3)) then
                writeln(a2)
            else
                writeln(a3);
 
end.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 18.11.2015, 16:10   #3
Himik_ProgramisT
Новичок
Джуниор
 
Регистрация: 18.11.2015
Сообщений: 10
По умолчанию

ооо ,наконецто, я тебе очень благодарен, но не мог би ты мне обяснить как она работает, всмысле почему ты именно так ее набрал, если тебе не трудно)))
Himik_ProgramisT вне форума Ответить с цитированием
Старый 18.11.2015, 16:29   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Himik_ProgramisT Посмотреть сообщение
почему ты именно так ее набрал, если тебе не трудно)))
Легко Слушай...
Цитата:
Алгоритм решения задачи:

Хотя задача кажется простой, ее решение не такое очевидное. Можно, например, проверить каждое число, лежит ли оно между двумя другими. Или найти минимальное из трех, после чего вывести минимальное из оставшихся двух. Ниже выбран первый способ.

1. Исключаем равенство чисел. Если первое число равно второму или первое равно третьему или второе равно третьему или все три числа равны (первое равно второму и второе равно третьему), то вывести сообщение "Ошибка". Иначе переходим к п. 2.
2. Проверяем лежит ли первое число между вторым и третьим. Если первое число больше второго, но меньше третьего (т.е. второе минимально), или первое число меньше второго, но больше третьего (т.е. третье минимально), то значит оно среднее. Иначе переходим к п. 3.
3. Проверяем лежит ли второе число между первым и третьим. Если второе число больше первого, но меньше третьего, или меньше первого, но больше третьего, то оно среднее. Иначе переходим к п. 4.
4. Среднее число третье, так как ни один другой вариант не подошел. Действительно, числа не равны друг другу, первое и второе числа средними не являются.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 18.11.2015, 16:30   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
read(a, d, c);// ввод чисел

     if (a<b) and (b<c) then writeln(b) //  т.е.  a<b<c  =>выводим b
else if (a<c) and (c<b) then writeln(c) //a<c<b ....
else if (c<a) and (a<b) then writeln(a) //c<a<b
else if (c<b) and (b<a) then writeln(b) //c<b<a
else if (b<a) and (a<c) then writeln(a) // b<a<c
else if (b<c) and (c<a) then writeln(c) // b<c<a
else  writeln('есть одинаковые???');//другие варианты
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 18.11.2015 в 16:35.
evg_m вне форума Ответить с цитированием
Старый 18.11.2015, 16:36   #6
Himik_ProgramisT
Новичок
Джуниор
 
Регистрация: 18.11.2015
Сообщений: 10
По умолчанию

люди вы не представляете на сколько я вам благодарен))))
Himik_ProgramisT вне форума Ответить с цитированием
Старый 18.11.2015, 16:39   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Нажмешь на весы возле наших сообщений и мы представим
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 18.11.2015, 16:49   #8
Himik_ProgramisT
Новичок
Джуниор
 
Регистрация: 18.11.2015
Сообщений: 10
По умолчанию

no problem
Himik_ProgramisT вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста сделать програму!!! Karamba220 Паскаль, Turbo Pascal, PascalABC.NET 4 24.12.2013 20:30
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите написать програму RAVEN23 Паскаль, Turbo Pascal, PascalABC.NET 0 04.06.2009 17:15
Помогите написать програму TheVenny Помощь студентам 3 05.11.2008 19:52