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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kre-sod
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
Записей в блоге: 9
#1

Упорядочить по возрастанию три введенных числа - C++

30.03.2014, 15:29. Просмотров 947. Ответов 7
Метки нет (Все метки)

Что-то у меня не получается, а почему - не могу понять.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "../../std_lib_facilities.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    double a;
    double b;
    double c;
    cout << "Vvedite 3 cifri: \n";
    while (cin >> a >> b >> c) {
    if (a >= b, b >= c)
        cout << c << ", " << b << ", " << a << '\n';
    if (a >= c, c >= b)
        cout << b << ", " << c << ", " << a << '\n';
    if (a <= b, b <= c)
        cout << a << ", " << b << ", " << c << '\n';
    if (a <= c, c <= b);
        cout << a << ", " << c << ", " << b << '\n';
    }
    system ("pause");
    return 0;
}
Нагородил тут, конечно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 15:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочить по возрастанию три введенных числа (C++):

Упорядочить три заданных числа по возрастанию - C++
Помогите пожалуйста написать простенькую программку на с++, составить программу, упорядочивающую три числа, А, В, С так, что в ячейке А...

Даны три числа, упорядочить их по возрастанию (не используя массивы) - C++
дано 3 числа. упорядочить их по возрастанию при этом не использовать циклы и массивы.

Проверить, имеют ли три введенных пользователем числа одинаковую четность - C++
Проверить, имеют ли три введенных пользователем числа одинаковую четность #include&lt;iostream.h&gt; main() { int b,d,x; ...

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

Расположить три числа по возрастанию - C++
2)Расположить три числа А,В,С по возрастанию их значения.

Упорядочить целые числа в строке по возрастанию. - C++
Помогите пожалуйста с задачей на СИ: Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить числа в строке по возрастанию....

7
Аркалык
18 / 18 / 7
Регистрация: 24.09.2013
Сообщений: 160
30.03.2014, 15:47 #2
kre-sod, Можно так (через массив):
C++
1
2
3
4
5
6
int func(int *a, int n)
{
    for(int i=0; i<n; i++)
    for (int j = i+1; j < n; j++)
    if (a[i] > a[j]) swap(a[i],a[j]);
}
1
zss
Модератор
Эксперт С++
6486 / 6049 / 1987
Регистрация: 18.12.2011
Сообщений: 15,691
Завершенные тесты: 1
30.03.2014, 15:50 #3
Цитата Сообщение от kre-sod Посмотреть сообщение
if (a >= b, b >= c)
Некорректная запись/ Операция "запятая" не работает как логическое "И"
C++
1
if (a >= b &&  b >= c)
2
kre-sod
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
Записей в блоге: 9
31.03.2014, 00:54  [ТС] #4
Цитата Сообщение от zss Посмотреть сообщение
Некорректная запись/ Операция "запятая" не работает как логическое "И"
C++
1
if (a >= b &&  b >= c)
Все равно то же самое

Добавлено через 2 минуты
Цитата Сообщение от Аркалык Посмотреть сообщение
kre-sod, Можно так (через массив):
C++
1
2
3
4
5
6
int func(int *a, int n)
{
    for(int i=0; i<n; i++)
    for (int j = i+1; j < n; j++)
    if (a[i] > a[j]) swap(a[i],a[j]);
}
Проблема в том, что до массивов я ещё не дошёл. Конечно, может Страуструп ошибся и впихнул задание не туда, но походу нужно без массивов
0
zss
Модератор
Эксперт С++
6486 / 6049 / 1987
Регистрация: 18.12.2011
Сообщений: 15,691
Завершенные тесты: 1
31.03.2014, 11:58 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
    double a;
    double b;
    double c;
    cout << "Vvedite 3 chisla: \n";
    while (cin >> a >> b >> c) 
    {
        double m1=max(a,b); // большее из a,b
        m1=max(m1,c);  // большее из a,b,c
        double n1=min(a,b);// меньшее из a,b
        n1=min(n1,c);  // меньшее из a,b,c
        double avg=a+b+c-m1-n1; // оставшееся 3-е число равно сумме всех - максимальное - минимальное
        cout<<n1<<" "<<avg<<" "<<m1<<endl;
    }
    system ("pause");
    return 0;
}
1
kre-sod
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
Записей в блоге: 9
31.03.2014, 14:59  [ТС] #6
max тоже пока не знаю) в общем, пока вот что получилось
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
// Vozrastanie_chisel.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "../../std_lib_facilities.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a;
    int b;
    int c;
    string a1;
    string b1;
    string c1;
    cout << "Vvedite 3 cifri: \n";
    while (cin >> a >> b >> c) {
    if (a >= b)
            if (b>=c)
                cout << c << b << a << '\n';
    if (a>=c)
        if (c>=b)
            cout << b << c << a << '\n';
    if (b>=a)
        if (a>=c)
            cout << c << a << b << '\n';
    if (b>=c)
        if (c>=a)
            cout << a << c << b << '\n';
    if (c>=a)
        if (a>=b)
            cout << b << a << c << '\n';
    if (c>=b)
        if (b>=a)
            cout << a << b << c << '\n';
    }
    system ("pause");
    return 0;
}
Но работает все еще не так, как нужно. При вводе 3 2 3 (две одинаковые цифры) на них бросаются сразу две >= , т.е он выводит
2 3 3
2 3 3
две строки. Если напишу 1 1 1, то работают сразу все if. Вот не знаю, как исправить. Пробовал убрать в некоторых равенство, но мозг тут же сломался
0
IrineK
Заблокирован
31.03.2014, 15:18 #7
kre-sod если хочется поветвить, то будет так:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <iomanip>
using std::cin;
using std::cout;
 
struct ORDER
{   int min, middle, max;
};
 
void arrange(ORDER *order, int a, int b, int c)
{   if(a>b)
    {   if(b>c)
        {   order->min = c;
            order->middle = b;
            order->max = a;
        }
        else if(a>c)
        {   order->min = b;
            order->middle = c;
            order->max = a;
        }
        else
        {   order->min = b;
            order->middle = a;
            order->max = c;
        }
    }
    else
    {   if(b<c)
        {   order->min = a;
            order->middle = b;
            order->max = c;
        }
        else if(a<c)
        {   order->min = a;
            order->middle = c;
            order->max = b;
        }
        else
        {   order->min = c;
            order->middle = a;
            order->max = b;
        }
    }
}
 
 
int main()
{   int a,b,c;
    ORDER order;
 
    cout << "Enter three integers\n";
    cin >> a >> b >> c;
    cin.sync();
 
    arrange(&order, a, b, c);
    cout << "Ordered as increasing sequence\n";
    cout << order.min << '\t' << order.middle << '\t' << order.max;
 
    cin.get();
    return 0;
}
0
zss
Модератор
Эксперт С++
6486 / 6049 / 1987
Регистрация: 18.12.2011
Сообщений: 15,691
Завершенные тесты: 1
31.03.2014, 15:27 #8
Если не хочется пользоваться max и min, То можно их вписать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
    double a;
    double b;
    double c;
    cout << "Vvedite 3 chisla: \n";
    while (cin >> a >> b >> c) 
    {
        double m1=a>b?a:b; // большее из a,b
        m1=m1>c?m1:c;  // большее из a,b,c
        double n1=a<b?a:b;// меньшее из a,b
        n1=n1<c?n1:c;  // меньшее из a,b,c
        double avg=a+b+c-m1-n1; // оставшееся 3-е число равно сумме всех - максимальное - минимальное
        cout<<n1<<" "<<avg<<" "<<m1<<endl;
    }
    system ("pause");
    return 0;
}
0
31.03.2014, 15:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 15:27
Привет! Вот еще темы с ответами:

Расположить три целых числа по возрастанию - C++
Здравствуйте изучаю 3-й день сишку никак не могу понять что не так делаю в середине кода с переменной 'i' #include...

Упорядочить все числа заданной последовательности по возрастанию - C++
Пусть для целого n&gt;0 функция d(n) равна количеству делителей числа n. Дано m&gt;0. Упорядочить все числа n от 1 до m в порядке неубывания ...

Найти все простые числа в массиве и упорядочить их по возрастанию - C++
Найти все простые числа в массиве и упорядочить их по возрастанию

Составить программу, печатающую ДА или НЕТ в зависимости от того, имеют ли три целых введенных числа одинаковую четность - C++
Составить программу, печатающую ДА или НЕТ в зависимости от того, имеют ли три целых введенных числа одинаковую четность.Помогите...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru