41 / 41 / 15
Регистрация: 29.12.2016
Сообщений: 291
1

Написать программу моделирующую работу лифта

01.04.2018, 14:51. Показов 7915. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Лифт
Написать программу моделирующую работу лифта, находящегося на первом этаже. Допустим, что каждый заходящий в кабину лифта человек нажимает кнопку с номером этажа. После этого лифт определяет наиболее быстрый порядок транспортирования пассажиров, расставляя соответствующим образом этажи, на которых он должен остановиться.

Входные данные:
Три целых числа от 2 до 40. Номера этажей, на которые необходимо подняться пассажирам лифта.

Выходные данные:
Три числа Порядок в котором лифт будет делать остановки.

Подсказки:
Посмотрите на пример входных и выходных данных, если не догадались в каком порядке необходимо делать остановки.

Sample Input:

34 12 23

Sample Output:

12 23 34

Вариантов движения по этажам всего 4 это:
123
321
213
231
Вот последний вариант у меня никак не выходит, никак исправить не могу:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
        if((a < b && a < c) && ( b < c)) printf("%d %d %d\n", a, b, c);
        else if((c < a && c < b) && (b < a)) printf("%d %d %d\n", c, b, a);
        else if((b < a && b < c) && (a < c)) printf("%d %d %d\n", b, a, c);
        else if((b < a && b < c) && (c < a)) printf("%d %d %d\n", b, c, a);
        else printf("%d %d %d\n", a, b, c);
 
    return 0;
}
Добавлено через 18 минут
вроде решил:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 #include <stdio.h>
 
int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
 
        if((a < b && a < c) && (b < c)) printf("%d %d %d\n", a, b, c);
        else if((c < a && c < b) && (b < a)) printf("%d %d %d\n", c, b, a);
        else if((b < a && b < c) && (a < c)) printf("%d %d %d\n", b, a, c);
        else if((b < a && b < c) && (c < a)) printf("%d %d %d\n", b, c, a);
        else if((c < a && c < b) && (a < b)) printf("%d %d %d\n", c, a, b);
        else printf("%d %d %d\n", a, b, c);
 
 
    // put your code here
    return 0;
}
Добавлено через 11 минут
еще дописал:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
 
        if((a < b && a < c) && (b < c)) printf("%d %d %d\n", a, b, c);
        else if((c < a && c < b) && (b < a)) printf("%d %d %d\n", c, b, a);
        else if((b < a && b < c) && (a < c)) printf("%d %d %d\n", b, a, c);
        else if((b < a && b < c) && (c < a)) printf("%d %d %d\n", b, c, a);
        else if((c < a && c < b) && (a < b)) printf("%d %d %d\n", c, a, b);
        else if((a == b && a < c)|| (b == c && a < b))  printf("%d %d %d\n", a, b, c);
        else if((b == c && a > c))  printf("%d %d %d\n", b, c, a);
        else if((a == c && b < c))  printf("%d %d %d\n", b, c, a);
        else printf("%d %d %d\n", a, b, c);
 
 
    // put your code here
    return 0;
}
блин все равно валидацию пройти не могу, хотя вроде правильно все работает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2018, 14:51
Ответы с готовыми решениями:

Написать программу моделирующую работу ОС
Написать программу моделирующую работу ОС, управляющей заданиями в пакетном режиме. Во входном...

Написать программу, моделирующую работу сумматора.
ОЧЕНЬ НУЖНА ПОМОЩЬ !!! ЗАРАНЕЕ БЛАГОДАРЮ !!! Сумматор — устройство, преобразующее информационные...

Написать программу, моделирующую работу кассы регистратуры поликлиники
1) Найти кол-во элементов массива, кратных 7. Массив ввести с клавиатуры 2) Написать программу,...

Написать и отладить программу, моделирующую работу диспетчера операционной системы
Цель задания: написать и отладить программу, моделирующую работу диспетчера операционной системы. ...

3
41 / 41 / 15
Регистрация: 29.12.2016
Сообщений: 291
02.04.2018, 19:23  [ТС] 2
Добавил еще вариантов, не идет валидация, то 4 тест не проходил, потом 5, теперь 9, что-то варианты уже закончились.....:cry
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
#include <stdio.h>
 
/*
 *  Лифт
    Написать программу моделирующую работу лифта, находящегося на первом этаже. Допустим, что каждый заходящий в кабину лифта человек нажимает кнопку с номером этажа. После этого лифт определяет наиболее быстрый порядок транспортирования пассажиров, расставляя соответствующим образом этажи, на которых он должен остановиться.
 
    Входные данные:
    Три целых числа от 2 до 40. Номера этажей, на которые необходимо подняться пассажирам лифта.
 
    Выходные данные:
    Три числа Порядок в котором лифт будет делать остановки.
 
    Подсказки:
    Посмотрите на пример входных и выходных данных, если не догадались в каком порядке необходимо делать остановки.
 
    Sample Input:
 
    34 12 23
 
    Sample Output:
 
    12 23 34
 
 
 */
int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
 
        if(((a < b && a < c) && (b < c) || ((a == b && a < c)|| (b == c && a < b))) || (a == b && b == c)) printf("%d %d %d\n", a, b, c);
        if((c < a && c < b) && (b < a)) printf("%d %d %d\n", c, b, a);
        if((b < a && b < c) && (a < c)) printf("%d %d %d\n", b, a, c);
        if((b < a && b < c) && (c < a) || ((b == c && a > c) || (a == c && b < c))) printf("%d %d %d\n", b, c, a);
        if((c < a && c < b) && (a < b) || (a == c && b > c) || (a == b && a > c)) printf("%d %d %d\n", c, a, b);
 
 
    /*
     * Я уже все перепробовал, нифига не получается вроде уже все варианты учел
 
       1 2 3
 
       3 2 1
 
       3 1 2
 
       2 1 3
 
       2 3 1
 
       1 1 2
 
       1 2 1
 
       2 1 1
 
       1 1 1
 
       2 1 2
 
       2 2 1
 
       1 2 2
     */
    return 0;
}
0
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
03.04.2018, 11:30 3
LightProger, я не очень вникал, но по условию задачи вам вроде бы просто надо расставить три заданных числа в порядке возрастания.
1
41 / 41 / 15
Регистрация: 29.12.2016
Сообщений: 291
03.04.2018, 15:58  [ТС] 4
woldemas, Да это так, но надо учесть все варианты движения лифта, зашло три человека, каждый нажал на свою кнопку, лифт должен сообразить, как ему двигаться оптимально. Переменные а, в, с - это люди нажавшие каждый на свой этаж.
0
03.04.2018, 15:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2018, 15:58
Помогаю со студенческими работами здесь

Написать программу, моделирующую поведение светофора
1. «Светофор». PD0 - «красный свет», PD1 - «желтый свет», PD2 - «зеленый свет». Красный и зеленый...

Написать программу, моделирующую поведение сборщика артефактов
Здравствуйте, помогите, пожалуйста, с написанием кода на языке С# Написать программу,...

Написать программу, моделирующую управление каталогом в файловой системе
Доброго времени суток! вот есть такое задание: Написать программу, моделирующую управление...

Написать программу, моделирующую динамическое распределение памяти в операционной системе.
Написать программу, моделирующую динамическое распределение памяти в операционной системе. В...


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

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

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