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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.90
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
#1

Дано 4 цифры, напечатать цифры в порядке возрастания - C++

30.09.2010, 18:33. Просмотров 2540. Ответов 20
Метки нет (Все метки)

в программе ввел 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
void lowtohigh(int a, int b,int c, int d)
{
 
if(a>b && a>c && a>d)   //A
{
    cout<<a;
 
        if(b>c && b>d)
        {
    cout<<b;
    if(c>d){
    cout<<c;
    cout<<d;
    }
    else
    {
    cout<<d;
    cout<<c;
    }
    }
 
    else if(b>c && b>d)
        {
    cout<<b;
    if(c>d){
    cout<<c;
    cout<<d;
    }
    else
    {
    cout<<d;
    cout<<c;
    }
    }
 
    else if(d>b && d>a)
        {
    cout<<d;
    if(a>b){
    cout<<a;
    cout<<b;
    }
    else
    {
    cout<<b;
    cout<<a;
    }
    }
}
 
 
if(b>a && b>d && b>c)   //B
{
    cout<<b;
 
        if(a>c && a>d)
        {
    cout<<a;
    if(c>d){
    cout<<c;
    cout<<d;
    }
    else
    {
    cout<<d;
    cout<<c;
    }
    }
 
    else if(d>c && d>b)
        {
    cout<<d;
    if(c>b){
    cout<<c;
    cout<<b;
    }
    else
    {
    cout<<b;
    cout<<c;
    }
    }
 
    else if(c>d && c>a)
        {
    cout<<c;
    if(a>d){
    cout<<a;
    cout<<d;
    }
    else
    {
    cout<<d;
    cout<<a;
    }
    }
}
 
if(c>a && c>b && c>d)   //C
{
    cout<<c;
 
        if(a>b && a>d)
        {
    cout<<a;
    if(d>b){
    cout<<d;
    cout<<b;
    }
    else
    {
    cout<<b;
    cout<<d;
    }
    }
 
    else if(b>d && b>a)
        {
    cout<<b;
    if(d>a){
    cout<<d;
    cout<<a;
    }
    else
    {
    cout<<a;
    cout<<d;
    }
    }
 
    else if(d>b && d>a)
        {
    cout<<d;
    if(d>b){
    cout<<d;
    cout<<b;
    }
    else
    {
    cout<<b;
    cout<<d;
    }
    }
}
 
if(d>a && d>b && d>c)   //D
{
    cout<<d;
 
        if(a>c && a>b)
        {
    cout<<a;
    if(c>b){
    cout<<c;
    cout<<b;
    }
    else
    {
    cout<<b;
    cout<<c;
    }
    }
 
    else if(b>c && b>a)
        {
    cout<<b;
    if(c>a){
    cout<<c;
    cout<<a;
    }
    else
    {
    cout<<a;
    cout<<c;
    }
    }
 
    else if(c>b && c>a)
        {
    cout<<c;
    if(a>b){
    cout<<a;
    cout<<b;
    }
    else
    {
    cout<<b;
    cout<<a;
    }
    }
}
 
}

прошу оценить
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2010, 18:33     Дано 4 цифры, напечатать цифры в порядке возрастания
Посмотрите здесь:

Дано натуральное число. Верно ли, что его цифры следуют в порядке возрастания справа налево - C++
Здравствуйте ,написал код все работает,но не могу придумать алгоритм к нему. если кто может нарисовать буду очень благодарен. ...

Упорядочить цифры в порядке возрастания/убывания - C++
Задание звучит примерно так : взять произвольные 10-15 цифр и чтобы программа их упорядочила в порядке как убывания , так и возрастания . ...

Дано предложение. Напечатать все слова в порядке возрастания их длин - C++
Нужно сделать без &quot;классов&quot;, а я знаю как делать только с классами. Помогите пожалуйста. Дано предложение. Напечатать все слова в...

Вывести все 3-х значные числа, цифры которых находятся в порядке возрастания - C++
Пргорамма С++ ...

Вывести все цифры заданного с клавиатуры числа по одному разу в порядке их возрастания - C++
Вывести все цифры заданного с клавиатуры числа по одному разу в порядке их возрастания. Задача на множества.

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

Напечатать в обратном порядке цифры десятичной записи целого не минусового числа N. - C++
Помогите с программой Рекурсивно описать процедуру RevPrint (N), которая печатает в обратном порядке цифры десятичной записи целого не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 18:36     Дано 4 цифры, напечатать цифры в порядке возрастания #2
Мама...
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
30.09.2010, 18:38  [ТС]     Дано 4 цифры, напечатать цифры в порядке возрастания #3

а как бы вы предложили мне написать то?
в курсе прошли только иф/элс и все...


а задача была такая, есть 4 цифры,напечатать цифры в порядке возрастания... еще надо в порядке убывания написать
Selina
122 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 23
30.09.2010, 18:41     Дано 4 цифры, напечатать цифры в порядке возрастания #4
Если никто не запрещал пользоваться циклами и массивами, лучше погуглить и переписать.
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
30.09.2010, 18:43     Дано 4 цифры, напечатать цифры в порядке возрастания #5
отсортировать перед выводом было не судьба?
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
30.09.2010, 18:44  [ТС]     Дано 4 цифры, напечатать цифры в порядке возрастания #6
Selina, я же сказал,я могу как то циклами и массивами делать,но курс этого не знает, я получу 0 вместо 100 на уроке...
alex_x_x, то есть
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 18:47     Дано 4 цифры, напечатать цифры в порядке возрастания #7
Фух... В порядке убывания меняем только строку вывода соответственно.

C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    int max=(a>b&&a>c&&a>d)?a:(b>c&&b>d&&b>a)?b:(c>a&&c>b&&c>d)?c:d;
    int min=(a<b&&a<c&&a<d)?a:(b<c&&b<d&&b<a)?b:(c<a&&c<b&&c<d)?c:d;
    int middle1=(a>min&&a<max)?a:(b>min&&b<max)?b:(c>min&&c<max)?c:d;
    int middle2=(a>min&&(a<middle1||a>middle1)&&a<max)?a:(b>min&&(b<middle1||b>middle1)&&b<max)?b:(c>min&&(c<middle1||c>middle1)&&c<max)?c:d;
    int middle3=(middle1<middle2)?middle1:middle2;
    int middle4=(middle1>middle2)?middle1:middle2;
    std::cout<<min<<' '<<middle3<<' '<<middle4<<' '<<max<<'\n';
    return 0;
}
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
30.09.2010, 18:48     Дано 4 цифры, напечатать цифры в порядке возрастания #8
Цитата Сообщение от МедведЪ Посмотреть сообщение
то есть
К примеру пузырьком.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
30.09.2010, 18:55  [ТС]     Дано 4 цифры, напечатать цифры в порядке возрастания #9
Lavroff, лол, ? и : тоже не прошли

Asics^, какой пузырек?

Добавлено через 17 секунд
Asics^, уважаемый, вы читаете верхние посты? -_-
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 18:55     Дано 4 цифры, напечатать цифры в порядке возрастания #10
МедведЪ, Тогда плохо. Тернарный оператор проходится вместе с if/else.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
30.09.2010, 18:58  [ТС]     Дано 4 цифры, напечатать цифры в порядке возрастания #11
Lavroff, на лекции другой учитель про это заговорил,но на компах и на доске не писали с этим оператором
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
30.09.2010, 18:59     Дано 4 цифры, напечатать цифры в порядке возрастания #12
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void swap( int *a, int *b ){ int c = *a; *a = *b; *b = c; }
 
void sort( int* lpArr, int nSize ){
  int i,j;
  for( i=0;i<nSize;++i ){
    for( j=i+i;j<nSize;++j ){
      if( lpArr[i] > lpArr[j] ) swap( lpArr+i,lpArr+j );
    }
  }
}
int main(){
  int arr[] = {-3,2,10,0,23}, i;
  sort( arr, 5 );
  for( i=0;i<5;++i ) printf( "%d ", arr[i] );
  return 0;
}
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
30.09.2010, 19:00     Дано 4 цифры, напечатать цифры в порядке возрастания #13
Сдалось вам всем эти 4 числа сравнивать? Уже третяя примерно тема про это за последнюю неделю.
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>
 
#define MIN(a, b) ( (a) < (b) ? (a) : (b) )
#define MAX(a, b) ( (a) > (b) ? (a) : (b) )
 
int main(void){
    int a, b, c, d;
 
    printf("a = ");
    scanf("%d", &a);
    printf("b = ");
    scanf("%d", &b);
    printf("c = ");
    scanf("%d", &c);
    printf("d = ");
    scanf("%d", &d);
 
    printf("Sorted: %d %d %d %d\n", MIN(MIN(a, b), MIN(c, d)), MAX(MIN(a, b), MIN(c, d)),
           MIN(MAX(a, b), MAX(c, d)), MAX(MAX(a, b), MAX(c, d)) );
 
    return 0;
}
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 19:01     Дано 4 цифры, напечатать цифры в порядке возрастания #14
easybudda, Полагаю что макросы и функции им тоже не подходят.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
30.09.2010, 19:03  [ТС]     Дано 4 цифры, напечатать цифры в порядке возрастания #15
ой ой ой...страшные define и функции...я говорю ПРОШЛИ ТОЛЬКО IF\ELSE ничего больше...


блин если бы учитель не настаивал только с if\else написать я бы за 10 мин с массивами написал...

Добавлено через 13 секунд
Lavroff, да да

Добавлено через 40 секунд
мы,мм....точнее наш курс только недельку начали программировать...
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 19:17     Дано 4 цифры, напечатать цифры в порядке возрастания #16
Надеюсь логические операции проходили...

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
int main()
{
    int min=0, middle1=0, middle2=0, max=0, tempmiddle1=0, tempmiddle2=0;
    if(a<b&&a<c&&a<d)
         min=a;
    else if(b<a&&b<c&&b<d)
         min=b;
    else if(c<a&&c<b&&c<d)
         min=c;
    else if(d<a&&d<b&&d<c)
         min=b;
    if(a>b&&a>c&&a>d)
         max=a;
    else if(b>a&&b>c&&b>d)
         max=b;
    else if(c>a&&c>b&&c>d)
         max=c;
    else if(d>a&&d>b&&d>c)
         max=d;
    if(a>min&&a<max)
         tempmiddle1=a;
    else if(b>min&&b<max)
         tempmiddle1=b;
    else if(c>min&&c<max)
         tempmiddle1=c;
    else if(d>min&&d<max)
         tempmiddle1=d;
     if(a>min&&(a<middle1||a>middle1)&&a<max)
         tempmiddle2=a;
     else if(b>min&&(b<middle1||b>middle1)&&b<max)
         tempmiddle2=b;
     else if(c>min&&(c<middle1||c>middle1)&&c<max)
         tempmiddle2=c;
     else if(d>min&&(d<middle1||d>middle1)&&d<max)
          tempmiddle2=d;
     if(tempmiddle1<tempmiddle2)
          middle1=tempmiddle1;
     else
          middle1=tempmiddle2;
     if(tempmiddle1>tempmiddle2)
           middle2=tempmiddle1;
     else 
           middle2=tempmiddle2;
}
дальше попозже допишу
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
30.09.2010, 19:22     Дано 4 цифры, напечатать цифры в порядке возрастания #17
Цитата Сообщение от МедведЪ Посмотреть сообщение
Asics^, какой пузырек?
Пузырьковая сортировка.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
30.09.2010, 19:30     Дано 4 цифры, напечатать цифры в порядке возрастания #18
Цитата Сообщение от МедведЪ Посмотреть сообщение
блин если бы учитель не настаивал только с if\else написать я бы за 10 мин с массивами написал...
Да кто бы сомневался
Вот с if/else
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
#include <stdio.h>
 
int main(void){
    int a, b, c, d;
 
    printf("a = ");
    scanf("%d", &a);
    printf("b = ");
    scanf("%d", &b);
    printf("c = ");
    scanf("%d", &c);
    printf("d = ");
    scanf("%d", &d);
 
    if ( a < b ){
        if ( c < d ){
            if ( a < c )
                printf("%d %d ", a, c);
            else
                printf("%d %d ", c, a);
            if ( b < d )
                printf("%d %d\n", b, d);
            else
                printf("%d %d\n", d, b);
        }
        else {
            if ( a < d )
                printf("%d %d ", a, d);
            else
                printf("%d %d ", d, a);
            if ( b < c )
                printf("%d %d\n", b, c);
            else
                printf("%d %d\n", c, b);
        }
    }
    else {
        if ( c < d ) {
            if ( b < c )
                printf("%d %d ", b, c);
            else
                printf("%d %d ", c, b);
            if ( a < d )
                printf("%d %d\n", a, d);
            else
                printf("%d %d\n", d, a);
        }
        else {
            if ( b < d )
                printf("%d %d ", b, d);
            else
                printf("%d %d ", d, b);
            if ( a < c )
                printf("%d %d\n", a, c);
            else
                printf("%d %d\n", c, a);
        }
    }
 
    return 0;
}
Интересно, что кроме паранои подобные задания развивают?
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 19:32     Дано 4 цифры, напечатать цифры в порядке возрастания #19
Надеюсь логические операции проходили...
Это ...
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
#include <iostream>
 
int main()
{
    int a=5, b=3, c=1, d=2;
    int min=0, middle1=0, middle2=0, max=0, tempmiddle1=0, tempmiddle2=0;
    if(a<b&&a<c&&a<d)
         min=a;
    else if(b<a&&b<c&&b<d)
         min=b;
    else if(c<a&&c<b&&c<d)
         min=c;
    else if(d<a&&d<b&&d<c)
         min=b;
    if(a>b&&a>c&&a>d)
         max=a;
    else if(b>a&&b>c&&b>d)
         max=b;
    else if(c>a&&c>b&&c>d)
         max=c;
    else if(d>a&&d>b&&d>c)
         max=d;
    if(a>min&&a<max)
         tempmiddle1=a;
    else if(b>min&&b<max)
         tempmiddle1=b;
    else if(c>min&&c<max)
         tempmiddle1=c;
    else if(d>min&&d<max)
         tempmiddle1=d;
     if(a>min&&(a<tempmiddle1||a>tempmiddle1)&&a<max)
         tempmiddle2=a;
     else if(b>min&&(b<tempmiddle1||b>tempmiddle1)&&b<max)
         tempmiddle2=b;
     else if(c>min&&(c<tempmiddle1||c>tempmiddle1)&&c<max)
         tempmiddle2=c;
     else if(d>min&&(d<tempmiddle1||d>tempmiddle1)&&d<max)
          tempmiddle2=d;
     if(tempmiddle1<tempmiddle2)
          middle1=tempmiddle1;
     else
          middle1=tempmiddle2;
     if(tempmiddle1>tempmiddle2)
           middle2=tempmiddle1;
     else 
           middle2=tempmiddle2;
     std::cout<<min<<' '<<middle1<<' '<<middle2<<' '<<max<<'\n';
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2010, 19:37     Дано 4 цифры, напечатать цифры в порядке возрастания
Еще ссылки по теме:

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

Дано целое число. Вывести набор символов содержит цифры этого числа в обратном порядке - C++
дано целое число. вывести набор символов содержит цифры этого числа в обратном порядке

Ввести с клавиатуры целое положительное число. Напечатать его цифры через пробел в прямом порядке - C++
Ввести с клавиатуры целое положительное число. Напечатать его цифры через пробел в прямом порядке как и через какие операторы можео...

Дано целое число. Вывести набор символов, содержащий цифры этого числа в обычном и обратном порядке - C++
Дано целое число. Вывести набор символов , содержащий цифры этого числа в обычном и обратном порядке. Помогите написать, сроки поджимают...

Ввести число, занести его цифры в стек. Вывести в число, у которого цифры идут в обратном порядке - C++
Ввести число, занести его цифры в стек. Вывести в число, у которого цифры идут в обратном порядке.


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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.09.2010, 19:37     Дано 4 цифры, напечатать цифры в порядке возрастания #20
МедведЪ, если ограничений на использование функций нет, то вот чуть переделанный вариант easybudda:
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
#include <iostream>
 
int Min(int a, int b) {
  if (a < b)
    return a;
    
  return b;
}
 
int Max(int a, int b) {
  if (a > b)
    return a;
    
  return b;
}
 
int main(void){
    int a, b, c, d;
 
    // Ввод a, b, c и d
    
    std::cout << Min(Min(a, b), Min(c, d)) << Max(Min(a, b), Min(c, d)) <<
                 Min(Max(a, b), Max(c, d)) << Max(Max(a, b), Max(c, d)) << std::endl;
 
    return 0;
}
Yandex
Объявления
30.09.2010, 19:37     Дано 4 цифры, напечатать цифры в порядке возрастания
Ответ Создать тему
Опции темы

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