13 / 13 / 7
Регистрация: 10.07.2011
Сообщений: 104
1

Из трех чисел вывести среднее по величине

21.07.2011, 15:26. Показов 6393. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести три числа. Вывести среднее из них, т.е. то, которое располагается между минимальным и максимальным.

Хотел сделать что-то типа этого:

Pascal
1
2
3
4
5
6
7
8
9
10
11
uses crt;
var a,b,c:integer;
 
BEGIN
   clrscr;
    read(a,b,c);
     if a>b and a<c then write(a);
     if a>c and a<b then write(a);
 
   readkey;
END.
Но не получается, скажите пожалуйста в чем ошибка и как написать программу проще.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2011, 15:26
Ответы с готовыми решениями:

Вывести среднее по величине из трех чисел
7)с использованием следующих компонентов: TextBox, Button и Label, CheckBox, ListBox. Ввести три...

Найти среднее по величине из трех заданных чисел
Даны три числа. Найти среднее из них (т.е. число, расположенное между наименьшим и наибольшим).

Среди трёх чисел вывести среднее
2. Среди трёх чисел вывести среднее. Пока что над этими задачами пыхчу но безуспешно если кто...

Вывести на экран среднее арифмитическое трех чисел
Помогите, пожалуйста. Буду очень благодарна. №1 Составьте программу, которая запрашивает 3 числа,...

26
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
21.07.2011, 15:38 2
Pascal
1
2
3
if ((a>=b) and (a<=c))or((a>=c) and (a<=b)) then write(a)
     else if ((b>=a) and (b<=c))or((b>=c) and (b<=a)) then write(b)
     else if ((c>=a) and (c<=b))or((c>=b) and (c<=a)) then write(c);
2
13 / 13 / 7
Регистрация: 10.07.2011
Сообщений: 104
21.07.2011, 15:39  [ТС] 3
Спасибо, все ясно!
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
21.07.2011, 15:41 4
Или можно так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var a,b,c,mn,mx:integer;
 
BEGIN
   clrscr;
    read(a,b,c);
    if a<b then mn:=a else mn:=b;
    if c<mn then mn:=c;
    if a>b then mx:=a else mx:=b;
    if c>mx then mx:=c;
    write(a+b+c-mn-mx);
   readkey;
END.
0
Путешественник вселенной
189 / 160 / 119
Регистрация: 01.03.2011
Сообщений: 664
21.07.2011, 15:47 5
Puporev, 1 решение более оптимизировано.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
21.07.2011, 16:00 6
Наверное, второй вариант в принципе только для целых, для вещественных за счет округления может вывести немного не то число..
0
4151 / 1805 / 213
Регистрация: 06.10.2010
Сообщений: 4,036
21.07.2011, 20:32 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Если a<>b<>c то можно так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
  a,b,c,x,y,z,w: integer;
begin
  readln(a,b,c);
  x:=a-b;
  y:=a-c;
  z:=b-a;
  w:=b-c;
  if x xor y<0 then
    write(a)
  else if z xor w<0 then
    write(b)
  else if y xor w<0 then
    write(c);
  readln;
end.
0
13 / 13 / 7
Регистрация: 10.07.2011
Сообщений: 104
21.07.2011, 22:06  [ТС] 8
Меня устроил первый вариант
0
-1 / 0 / 0
Регистрация: 01.08.2011
Сообщений: 42
01.08.2011, 20:25 9
Извиняюсь, я новенький, только сегодня начал заниматься этим, а полностью текст программы можно, а то я не допираю?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
01.08.2011, 20:37 10
Цитата Сообщение от Kolbasnik98 Посмотреть сообщение
а полностью текст программы можно,
Так здесь три кода полностью, а в четвертом только середина меняется. Что еще нужно?
0
13 / 13 / 7
Регистрация: 10.07.2011
Сообщений: 104
01.08.2011, 20:37  [ТС] 11
Текст и так полный.
0
-1 / 0 / 0
Регистрация: 01.08.2011
Сообщений: 42
01.08.2011, 20:39 12
Всё вместе скиньте чтобы от Program до end
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
01.08.2011, 20:40 13
Цитата Сообщение от Kolbasnik98 Посмотреть сообщение
от Program
А зачем это? Совершенно не нужная строка.
0
-1 / 0 / 0
Регистрация: 01.08.2011
Сообщений: 42
01.08.2011, 20:41 14
пишет:
error 3
0
13 / 13 / 7
Регистрация: 10.07.2011
Сообщений: 104
01.08.2011, 20:41  [ТС] 15
Строку program писать не обязательно.
0
-1 / 0 / 0
Регистрация: 01.08.2011
Сообщений: 42
01.08.2011, 20:41 16
Цитата Сообщение от Puporev Посмотреть сообщение
А зачем это? Совершенно не нужная строка.
Всымсле не нужная?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
01.08.2011, 20:44 17
maksim0308, А зачем ты снова эту ерунду написал?
0
-1 / 0 / 0
Регистрация: 01.08.2011
Сообщений: 42
01.08.2011, 20:45 18
Теперь еррор 57
0
13 / 13 / 7
Регистрация: 10.07.2011
Сообщений: 104
01.08.2011, 20:45  [ТС] 19
Извиняюсь, перепутал.
0
-1 / 0 / 0
Регистрация: 01.08.2011
Сообщений: 42
01.08.2011, 20:47 20
Так как надо???
0
01.08.2011, 20:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2011, 20:47
Помогаю со студенческими работами здесь

Вывести среднее арифметическое чисел из трех TextBox в четвертом
Вообщем есть 3 textBox,нужно забить в них значения и вывести их средне арифметическое в 4м...

Условные операторы: вывести среднее из трех заданных чисел
Условие: Даны три целых числа. Вывести среднее значение числа (средним числом назовем то, которое...

Найти среднее арифметическое отрицательных чисел и подсчитать количество чисел, по величине больших А
1.Найти среднее арифметическое отрицательных чисел и подсчитать количество чисел, по величине...

Найти среднее арифметическое ненулевых чисел и подсчитать количество чисел, по величине не больших А
найти среднее арифметическое ненулевых чисел и подсчитать количество чисел, по величине небольших А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru