Форум программистов, компьютерный форум CyberForum.ru

Пользователь ввел три целых числа, расположить эти числа в порядке убывания - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Jaroslava
0 / 0 / 0
Регистрация: 12.08.2014
Сообщений: 21
15.08.2014, 15:53     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<iostream.h>
main()
{
int a,b,c,max,min,aver;
cout<<"enter a  ";
cin>>a;
cout<<"enter b  ";
cin>>b;
cout<<"enter c  ";
cin>>c;
 
if (a>b)
{   max = a;
    if (max<c)
        max = c;
}
 
else
{   max = b;
    if (max<c)
        max=c;
}
cout<<max<<"\n\n";
 
 
 
if (a<b)
{   min = a;
    if (min>c)
        min = c;
}
 
else
{   min = b;
    if (min>c)
        min=c;
}
cout<<min<<"\n\n";
 
 
 
return 0;
}
Помогите пожалуйста сделать так что бы программа выводила среднее число.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2014, 15:53     Пользователь ввел три целых числа, расположить эти числа в порядке убывания
Посмотрите здесь:

Расположить в массиве числа в порядке убывания частоты встречаемости чисел C++
C++ расположить три числа по возрастанию
C++ Вывести все целые числа, расположенные между данными числами, включая сами эти числа, в порядке их возрастания
программа, которая предлагает пользователю ввести два целых числа, получает эти числа и после этого выводит большее на печать C++
C++ Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
A_Kamolins
 Аватар для A_Kamolins
4 / 4 / 4
Регистрация: 15.08.2014
Сообщений: 30
15.08.2014, 16:10     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #2
А не проще, к примеру, вот так?

C++
1
2
3
4
5
6
7
8
9
10
arr[3] = {1, 5, 3};
int temp;
 
for (int i = 0; i < 2; i++)
    for (int j = 0; j < 2; j++)
        if (arr[j] > arr[j+1]) {
            temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
            }
Ну а затем - вывод массива на экран. Обычная сортировка выборкой, если не ошибаюсь.
Jaroslava
0 / 0 / 0
Регистрация: 12.08.2014
Сообщений: 21
15.08.2014, 16:13  [ТС]     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #3
Так конечно проще, но мне надо именно таким способом.
Ryder95
8 / 8 / 4
Регистрация: 24.10.2013
Сообщений: 216
15.08.2014, 16:15     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
char _max,_min;
if (a>b)
{   max = a;
    _max='a';
     if (max<c)
     {
          max = c;
          _max='c';
     }
}
else
{   max = b;
        _max='b';
        if (max<c)
        {
             max=c;
             _max='c';
         }
}
cout<<max<<"\n\n";
 
if (a<b)
{   min = a;
        _min='a';
        if (min>c)
        {
              min = c;
              _min='c';
         }
}
else
{   min = b;
        _min='b';
        if (min>c)
        {
              min=c;
              _min='c';
        }
}
 
if ((_min!='a') and (_max!='a')) cout<<a;
else
    if ((_min!='b') and (_max!='b')) cout<<b;
    else
        if ((_min!='c') and (_max!='c')) cout<<c;
Брутально и некрасиво, знаю, но работать должно
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
16.08.2014, 22:56     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #5
C
1
2
3
4
5
6
7
8
9
10
11
int is_between(const int x, const int a, const int b)
{
    return (x > a)? (x < b) : (x > b);
}
 
int middle(const int a, const int b, const int c)
{
    if( is_between(a, b, c) ) { return a; }
    if( is_between(b, a, c) ) { return b; }
    return c;
}
dinomega114
0 / 0 / 0
Регистрация: 12.07.2014
Сообщений: 11
17.08.2014, 22:08     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #6
Сортировку пузырьком сделай.
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
17.08.2014, 23:28     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #7
Было же вроде задание найти среди этих чисел среднее? Или я не в ту тему свой ответ запостил?
Brendon
Заблокирован
17.08.2014, 23:42     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <tchar.h>
#include <map>
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::map<int, int> data;
    for (int i = 0; i < 3; i++)
    {
        int tmp;
        std::cin >> tmp;
        data[tmp] = tmp;
    }
 
    for (auto it = data.begin(); it != data.end(); it++)
        std::cout << it->first << std::endl;
 
    return 0;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.08.2014, 08:57     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #9
Brendon, зачем тут map? Как быть, если введены три одинаковых числа?
-=ЮрА=-
Заблокирован
Автор FAQ
18.08.2014, 09:01     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #10
Jaroslava, было и очень давно на форуме
Страуструп. Упражнение. Ввод 3 чисел и последующий их вывод в порядке возрастания.
доработка под это
Цитата Сообщение от soon Посмотреть сообщение
Как быть, если введены три одинаковых числа?
здесь
Страуструп. Упражнение. Ввод 3 чисел и последующий их вывод в порядке возрастания.
Brendon
Заблокирован
18.08.2014, 09:07     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #11
Цитата Сообщение от soon Посмотреть сообщение
Brendon, зачем тут map?
Как зачем? Авто-сорт.
Цитата Сообщение от soon Посмотреть сообщение
Как быть, если введены три одинаковых числа?
Ну если такой случай допускается исходной задачей, тогда std::vetor и std::sort, дело - то
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2014, 10:59     Пользователь ввел три целых числа, расположить эти числа в порядке убывания
Еще ссылки по теме:

Как найти произведение цифр любого числа, которое ввел пользователь? C++
Напишите программу, которая вводит три действительный числа и проверяет, являются ли эти числа первыми тремя членами арифметической прогрессии. C++
Расположить три целых числа по возрастанию C++

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

Или воспользуйтесь поиском по форуму:
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
18.08.2014, 10:59     Пользователь ввел три целых числа, расположить эти числа в порядке убывания #12
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
было и очень давно на форуме
Ну да, с тех пор про то, что singed overflow это UB можно было б и узнать



Я бы предложил такой вариант ( который кстати не только с числами работает ):

C++
1
2
3
  auto first = min( a, min( b, c ) );
  auto second = max( max( min( a, b ), min( b, c ) ), min( a, c ) );
  auto last = max( max( a, b ), c );


Цитата Сообщение от Brendon Посмотреть сообщение
Как зачем? Авто-сорт.
Тогда уж multiset хотя бы
Yandex
Объявления
18.08.2014, 10:59     Пользователь ввел три целых числа, расположить эти числа в порядке убывания
Ответ Создать тему
Опции темы

Текущее время: 19:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru