Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
-27 / 0 / 1
Регистрация: 26.01.2013
Сообщений: 23

Выяснить можно ли одну из коробок положить в другую

14.03.2013, 17:44. Показов 7405. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На столе лежат коробка размера A1 × B1 × C1 и коробка размера A2 × B2 × C2. Выясните можно ли одну из этих коробок положить в другую, если разрешены повороты коробок вокруг любого ребра на угол 90 градусов.

Входные данные

Первая строка входного файла содержит три целых числа A1, B1 и C1. Вторая строка входного файла содержит три целых числа A2, B2 и C2. Все числа положительны и не превосходят 1000.

Выходные данные

Если коробки одинаковы, выведите "Boxes are equal". Если первая коробка может быть положена во вторую, выведите "The first box is smaller than the second one". Если вторая коробка может быть положена в первую, выведите "The first box is larger than the second one". Иначе, выведите "Boxes are incomparable".







Мой код:

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
#include <fstream>
using namespace std;
int main(){
    ifstream fin ("input.txt");
    ofstream fout("output.txt");
    char a=0,b=0,c=0,d=0,e=0,f=0,i=0;
    long long int m=0,n=0;
    fin>>a>>b>>c>>d>>e>>f;
    m=a+b;
    m=m+c;
    n=d+e;
    n=f+n;
    
    if((a==f && b==e && c==d) || (a==e && b==f && c==d) || (a==f && b==d && c==e) || (a==d && b==e && c==f))fout<<"Boxes are equal";
    if(m>n)fout<<"The first box is larger than the second one";
    if(m<n)fout<<"The first box is smaller than the second one";
    /*if(
    ((a!=f && b==e && c==d) || 
    (a!=f && b!=e && c==d) || 
    (a!=f && b==e && c!=d) || 
    (a==f && b!=e && c==d) || 
    (a!=f && b!=e && c==d) || 
    (a==f && b!=e && c!=d) || 
    (a==f && b==e && c!=d) || 
    (a!=f && b==e && c!=d) || 
    (a==f && b==e && c!=d) || 
    (a==f && b!=e && c==d)) &&
    (m==n))*/
    else fout<<"Boxes are incomparable";
   
    
    fin.close();
    fout.close();
    return 0;}
Добавлено через 40 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
using namespace std;
int main(){
    ifstream fin ("input.txt");
    ofstream fout("output.txt");
    char a=0,b=0,c=0,d=0,e=0,f=0,i=0;
    long long int m=0,n=0;
    fin>>a>>b>>c>>d>>e>>f;
    m=a+b;
    m=m+c;
    n=d+e;
    n=f+n;
    
    if((a==f && b==e && c==d) || (a==e && b==f && c==d) || (a==f && b==d && c==e) || (a==d && b==e && c==f))fout<<"Boxes are equal";
    if(m>n)fout<<"The first box is larger than the second one";
    if(m<n)fout<<"The first box is smaller than the second one";
    else fout<<"Boxes are incomparable";
   
    
    fin.close();
    fout.close();
    return 0;}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.03.2013, 17:44
Ответы с готовыми решениями:

Выясните, можно ли одну из коробок положить в другую
#include &lt;iostream&gt; const int size = 3; using namespace std; int main() { //freopen(&quot;input.txt&quot;,&quot;r&quot;,stdin); ...

Можно ли разместить одну из коробок внутри другой
Помоги, пожалуйста! Ввести с клавиатуры размеры 2-х коробок (A1×B1×C1 и A2×B2×C2). Вывести на экран, можно ли разместить одну из этих...

Можно ли разместить одну из коробок внутри другой?
Почему то не правильно работает, помогите!!! вот условие:Есть две коробки, первая размером A1×B1×C1, вторая размером...

3
 Аватар для GoldenId
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 877
Записей в блоге: 10
14.03.2013, 18:56
Вариант без явных циклов
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
#include <vector>
#include <algorithm>
#include <fstream>
 
using namespace std;
 
const int n = 3;
 
void main()
{
    ifstream ifs;
    ofstream ofs;
 
    int box1[ n ];
    int box2[ n ];
 
    // зачитать размеры коробок из файла
 
    sort( box1, box1 + n );
    sort( box2, box2 + n );
 
    if( mismatch( box1, box1 + n, box2 ).first == box1 + n )
        ofs << "Boxes are equal";
    else if( mismatch( box1, box1 + n, box2, less<int>() ).first == box1 + n )
        ofs << "The first box is smaller than the second one";
    else if( mismatch( box1, box1 + n, box2, greater<int>() ).first == box1 + n )
        ofs << "The first box is larger than the second one";
    else
        ofs << "Boxes are incomparable";
}
Привет контесту.
0
-27 / 0 / 1
Регистрация: 26.01.2013
Сообщений: 23
02.04.2013, 20:17  [ТС]
Мне бы на Dev C++, без офс,сорт и что за .first greater<int>() ?
0
 Аватар для Dmitry Vin
3 / 3 / 0
Регистрация: 20.11.2019
Сообщений: 18
21.11.2019, 18:23
Вот, держите правильное решение задачи. Код составлен не так уж красиво, некоторые вещи повторяются, но сайт acmp . ru принял решение на ура, код успешно прошел все тесты.

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
#include <iostream>
#include <stdio.h>
#include <cmath>
using namespace std;
int main(){
    int x1, y1, z1, x2, y2, z2, max1=0, mid1=0, min1=0, max2=0, mid2=0, min2=0;
    scanf("%d %d %d %d %d %d", &x1, &y1, &z1, &x2, &y2, &z2);
    if(x1>=y1 && x1>=z1){
        max1 = x1;
        if(y1>=z1){
            mid1 = y1;
            min1 = z1;
        }else{
            mid1 = z1;
            min1 = y1;
        }
    }else if(y1>=z1 && y1>=z1){
        max1 = y1;
        if(x1>=z1){
            mid1 = x1;
            min1 = z1;
        }else{
            mid1 = z1;
            min1 = x1;
        }
    }else{
        max1 = z1;
        if(x1>=y1){
            mid1 = x1;
            min1 = y1;
        }else{
            mid1 = y1;
            min1 = x1;
        }
    }
    if(x2>=y2 && x2>=z2){
        max2 = x2;
        if(y2>=z2){
            mid2 = y2;
            min2 = z2;
        }else{
            mid2 = z2;
            min2 = y2;
        }
    }else if(y2>=z2 && y2>=z2){
        max2 = y2;
        if(x2>=z2){
            mid2 = x2;
            min2 = z2;
        }else{
            mid2 = z2;
            min2 = x2;
        }
    }else{
        max2 = z2;
        if(x2>=y2){
            mid2 = x2;
            min2 = y2;
        }else{
            mid2 = y2;
            min2 = x2;
        }
    }
    if(max1==max2 && mid1==mid2 && min1==min2){
        printf("Boxes are equal");
    }else if(max1>=max2 && mid1>=mid2 && min1>=min2){
        printf("The first box is larger than the second one");
    }else if(max1<=max2 && mid1<=mid2 && min1<=min2){
        printf("The first box is smaller than the second one");
    }else{
        printf("Boxes are incomparable");
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2019, 18:23
Помогаю со студенческими работами здесь

Определить, можно ли разместить одну из коробок внутри другой?
Есть две коробки, первая размером A₁×B₁×C₁, вторая размером A₂×B₂×C₂. Определите, можно ли разместить одну из этих коробок внутри другой,...

Можно ли положить в ячейку QAbstractTableModel еще одну модель данных?
Всем доброго времени суток! У меня вопрос к сообществу. Есть объект, который представляет собой что-то типа матрешки. Это объект нужно...

В Accesse можно одну форму вставлять в другую. А в VB можно ?
В Accesse можно одну форму вставлять в другую. А в VB можно, чтобы одна форма была подформой для другой и между ними была связь ?

Выяснить, можно ли одну из строк сложить, переставляя символы другой
выяснить, можна ли одну из строк сложить, переставляя символы другого???

Можно ли одну программу вставить в другую?
Можно ли в паскале одну программу вставить в другую. Если да, то как? Спасибо.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru