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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.82
ArtyrKa
1 / 1 / 0
Регистрация: 16.06.2010
Сообщений: 10
#1

Сравнение чисел. - C++

16.09.2010, 20:11. Просмотров 3778. Ответов 14
Метки нет (Все метки)

Вообщем нужно ввести с клавы 3 числа.
Нужно чтобы прога вывела их в порядке max, min, middle.
В голову кроме if(max<min){}ничего не приходит. Просто код получиться очень большой. Есть другой вариант ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2010, 20:11     Сравнение чисел.
Посмотрите здесь:

Сравнение чисел - C++
Есть у меня 2 числа: 3.1000000000000017 и 3.1000000000000000 Они как бы равны, но не получается их в блоке if сравнить. Как их...

Сравнение 3 чисел - C++
Всем привет)) В колледже задали задание: написать программу, которая сравнивает 3 числа. Три варианта я сделал: #include &lt;iostream&gt; ...

Сравнение чисел - C++
дан 40 число если число меньше 25 надо прибавить 10. можете помочь

Сравнение чисел - C++
Привет всем!Люди помогите написать программ,которая сравнивает три числа и выдает наибольшее и наименьшее из них.Задача из книги Дейтелов. ...

Сравнение чисел - C++
Скажите, пожалуйста, логику сравнения трёх чисел на языке алгоритма, чтобы рез-т был таким: первое &gt; второе &gt; третье

Сравнение вещественных чисел - C++
Привет, ребят! Нужна ваша мудрость. На днях думал о реализации класса complex&lt;class scalar&gt; из std и о реализации класса 3D-точек,...

Не работает сравнение чисел - C++
void masto1(int &amp;m,int r1,int b1){ int *c1; for(c1=b1;c1&lt;=r1;c1++){m=0;} } void masto2(int &amp;m,int r1,int b1,int r2,int b2){ ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.09.2010, 20:16     Сравнение чисел. #2
C++
1
2
3
4
int a[3];
std::cin >> a[0] >> a[1] >> a[2];
std::sort(a,a+3);
std::cout << a[2] << a[0] << a[1];
ArtyrKa
1 / 1 / 0
Регистрация: 16.06.2010
Сообщений: 10
16.09.2010, 20:39  [ТС]     Сравнение чисел. #3
Цитата Сообщение от Хохол Посмотреть сообщение
C++
1
2
3
4
int a[3];
std::cin >> a[0] >> a[1] >> a[2];
std::sort(a,a+3);
std::cout << a[2] << a[0] << a[1];
Спасибо тока я в с++ не разбираюсь, можно в С увидеть ?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.09.2010, 20:46     Сравнение чисел. #4
C
1
2
3
4
5
6
7
8
9
10
11
12
int a[3];
scanf("%d %d %d", &a[0], &a[1], &a[2]);
for(int i=0; i<3; ++i)
{
     for(int j=i; j<3; ++j)
     {
          int temp=a[i];
          a[i]=a[j];
          a[j]=temp;
     }
}
printf("%d %d %d\n", a[2], a[0], a[1]);
ArtyrKa
1 / 1 / 0
Регистрация: 16.06.2010
Сообщений: 10
16.09.2010, 21:03  [ТС]     Сравнение чисел. #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
int main(){
int temp, i,j, a[3];
scanf("%d %d %d", &a[0], &a[1], &a[2]);
for(i=0; i<3; i++)
{
     for(j=i; j<3; j++)
     {
          temp=a[i];
          a[i]=a[j];
          a[j]=temp;
     }
}
printf("%d %d %d\n", a[2], a[0], a[1]);
 
getch();
}
Вот рабочий код только прога не работает как надо. Если вводить например 3 числа 6,4,2 то ответ будет выглядеть как 2,6,4.... но если ввести те же числа в другой последовательности например 2,6,4, то ответ будет выглядеть как 4,2,6... то есть косячок.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.09.2010, 21:04     Сравнение чисел. #6
ArtyrKa, Хм. С сортировкой накосячил значит. Сейчас.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.09.2010, 21:05     Сравнение чисел. #7
C++
1
2
3
4
5
for(i=0; i<2; i++)
{
     for(j=i+1; j<3; j++)
         if(a[i] > a[j])
         {
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.09.2010, 21:07     Сравнение чисел. #8
Или так.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int main()
{
int i, j, temp;
int a[3];
scanf("%d %d %d", &a[0], &a[1], &a[2]);
for(i=0; i<3; ++i)
{
     for(j=i; j<3; ++j)
     {
          if(a[i]>a[j])
          {
              temp=a[i];
              a[i]=a[j];
              a[j]=temp;
     }
     }
}
printf("%d %d %d\n", a[2], a[0], a[1]);
return 0;
}
ArtyrKa
1 / 1 / 0
Регистрация: 16.06.2010
Сообщений: 10
16.09.2010, 21:40  [ТС]     Сравнение чисел. #9
ок спасибо большое. вот код отлично компилируется в dev c++ и работает =)
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
#include <stdio.h>
#include <conio.h>
int main()
{
int i,j,a[3];
 
scanf("%d", &a[0]);
scanf("%d", &a[1]);
scanf("%d", &a[2]);
for(i=0; i<3; i++)
{
     for(j=i; j<3; j++)
     {
                 if(a[i]>a[j])
                 {
          int temp=a[i];
          a[i]=a[j];
          a[j]=temp;
                 }
     }
}
printf("%d %d %d\n", a[2], a[0], a[1]);
getch();
 
}
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
16.09.2010, 22:06     Сравнение чисел. #10
Цитата Сообщение от ArtyrKa Посмотреть сообщение
В голову кроме if(max<min){}ничего не приходит. Просто код получиться очень большой.
Уверен, что код большой?
C
1
2
3
if (a > b) t = a, a = b, b = t;
if (b > c) t = b, b = c, c = t;
if (a > b) t = a, a = b, b = t;
ArtyrKa
1 / 1 / 0
Регистрация: 16.06.2010
Сообщений: 10
16.09.2010, 22:08  [ТС]     Сравнение чисел. #11
Somebody, да мне уже тоже предложили такой вариант. Просто башка не варит, думал по другом, ветвлением сделать, а это строк на 30-50
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.09.2010, 22:36     Сравнение чисел. #12
Можно и по другому извратиться.

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    int a=3, b=4, c=5;
    std::cout<<((a>b&&a>c)?a:(b>c)?b:c);
        std::cout<<((a<b&&a<c)?a:(b<c)?b:c);
    std::cout<<(((a<b&&a>c)||(a>b&&a<c))?a:((b<c&&b>a)||(b>c&&b<a))?b:c);
    return 0;
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    int a, b, c;
    printf("Enter a, b, c\n");
    scanf("%d %d %d", &a, &b, &c);
    int max=((a>b&&a>c)?a:(b>c)?b:c);
    int middle=(((a<b&&a>c)||(a>b&&a<c))?a:((b<c&&b>a)||(b>c&&b<a))?b:c);
    int min=((a<b&&a<c)?a:(b<c)?b:c);
    printf("%d %d %d\n", max, min, middle);
    return 0;
}
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,500
17.09.2010, 00:34     Сравнение чисел. #13
Цитата Сообщение от ArtyrKa Посмотреть сообщение
можно в С увидеть ?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
#define MAX(a, b, c) (a) > (b) ? (a) > (c) ? (a) : (c) : (b) > (c) ? (b) : (c)
#define MIN(a, b, c) (a) < (b) ? (a) < (c) ? (a) : (c) : (b) < (c) ? (b) : (c)
#define MIDDLE(a, b, c) (a) > (b) ? (b) > (c) ? (b) : (a) > (c) ? (c) : (a) : (a) > (c) ? (a) : (b) > (c) ? (c) : (b)
 
int main(void){
    int a, b, c;
    
    printf("A = ");
    scanf("%d", &a);
    printf("B = ");
    scanf("%d", &b);
    printf("C = ");
    scanf("%d", &c);
    
    printf("MAX = %d\tMIN = %d\tMIDDLE = %d\n", MAX(a, b, c), MIN(a, b, c), MIDDLE(a, b, c));
    
    return 0;
}
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
17.09.2010, 00:38     Сравнение чисел. #14
Цитата Сообщение от easybudda Посмотреть сообщение
#define MAX(a, b, c) (a) > (b) ? ( (a) > (c) ? (a) : (c) ) : (b) > (c) ? (b) : (c)
#define MIN(a, b, c) (a) < (b) ? ( (a) < (c) ? (a) : (c) ) : (b) < (c) ? (b) : (c)
#define MIDDLE(a, b, c) (a) > (b) ? ( (b) > (c) ? (b) : ( (a) > (c) ? (c) : (a) ) ) : (a) > (c) ? (a) : (b) > (c) ? (c) : (b)
а ты любитель поизвращаться

Добавлено через 1 минуту
кочмар.. почему до сих пор, во всяких образовательных учреждениях, заставляют писать на Си?!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2010, 00:51     Сравнение чисел.
Еще ссылки по теме:

сравнение целых чисел - C++
всем привет)))может быть вопрос слишком простым покажется для ВАС!!! Допусим мы имеем следующий код: 1)Вариант 1 int a=11; ...

Битовое сравнение чисел - C++
Создать функцию которая возвращает число, полученное из побитового сравнения трех заданных чисел за следующим образом, если на однаковой...

Сравнение рациональных чисел - C++
Есть класс дроби, с полями чисельник и знаменник. Надо перегрузить операторы (&gt; , &lt; ,&gt;= , &lt;= , = , !=) для них. типа чтоб в коде можно...

Сравнение длинных чисел >, < - C++
Доброго времени суток всем. помогите пожалуйста прояснить алгоритм сравнения относительно длинных чисел (например 2 в 512 степени) ,...

Сравнение строк, чисел и т.д - C++
Вот, допустим, хочу я сделать проверку пароля :) Пишу: int main () { string login = &quot;qwerty123&quot;; cout &lt;&lt; &quot;Enter password: &quot;; cin...


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,500
17.09.2010, 00:51     Сравнение чисел. #15
Цитата Сообщение от niXman Посмотреть сообщение
почему до сих пор, во всяких образовательных учреждениях, заставляют писать на Си?!
Ну всё-таки С++ это не "улучшеный" С, а совсем другой язык программирования с другими возможностями, а соответственно и другой областью применения. Вообще, если эту тему продолжать - скатимся к холивару С vs C++ Вот что ни говорите, а есть у С свои преймущества! При отсутствии необходимости навороченного объектно-ориентированного подхода все плюсы С++ собственно в куче готовых велосипедов. При этом реализацию на С можно сделать и компактнее и быстрее просто по тому, что к стандартному велосипеду ещё куча деталек (читай - функций, свойств, etc...) прилагается, надобность в которых и не возникнет...
Yandex
Объявления
17.09.2010, 00:51     Сравнение чисел.
Ответ Создать тему
Опции темы

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