Условие задачи
Даны действительные числа [latex] x [/latex], [latex] y [/latex]. Получить [latex]\min (x, y)[/latex].
Код
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main(){ double x, y; cin >> x >> y; if (x<y) cout << x << endl; else cout << y << endl; return 0; } |
Код (с тернарной операцией)
1 2 3 4 5 6 7 8 9 |
#include <iostream> using namespace std; int main(){ int x, y; cin >> x >> y; cout << (x<y? x:y);//сравниваем x и y, если x меньше либо равен y, то выводится x, иначе - y return 0; } |
Тесты
Входные данные | Выходные данные | |
---|---|---|
[latex]x[/latex] | [latex]y[/latex] | [latex]\min (x, y)[/latex] |
4 | 9 | min=4 |
23 | 32 | min=23 |
48 | 125 | min=48 |
842 | 361 | min=361 |
15 | 15 | min=15 |
Решение
Вводим данные [latex] x [/latex], [latex] y [/latex]. Затем сравниваем их. Если [latex] x\leq y [/latex], то выводится [latex] x [/latex]. Иначе, то есть,если [latex] y < x [/latex], то выводится [latex] y [/latex].
Ссылки
Условие задачи;
Код программы на Ideone.com;
Вам нужно разобраться с laTeX’ом — в условии Вы его забыли, а в решении он не работает. Основная причина в том, что вместо английских букв Вы набираете символы кириллицы сходные им по начертанию.
Исправила все свои ошибки с laTeX’ом. В следующий раз буду более внимательной.
Не совсем. Для обозначения математических функций в текстах используют прямой шрифт. Например, в учебниках пишут [latex]\sin x[/latex] а не [latex]sin x.[/latex] Т.е. «\sin x», а не «sin x» У Вас тоже есть такая функция.
Теперь займёмся отступами в программах — во всех Ваших программах есть эта проблема. Посмотрите здесь какие могут быть варианты.
— Вы пишите «Одно из них меньше другого». Почему? Значения могут быть равными. И тест такой нужен.
— Действительны числа — это не int. Исправьте, пожалуйста.
— В ключевых словах «сравнение двух переменных». Переменные здесь не причём. Их вообще никто не сравнивает. Например, 3 > 2, правильно? А где здесь переменные?
Вы сравниваете числа, числовые значения, величины некоторого типа. Но не переменные.
— Почему Вы так упорно отказываетесь делать правильные отступы. Вы прочли как это делается?
P.S. Настя, у нас развернулась бурная переписка вокруг программы в две строчки и такого же пояснения к ней. Пожалуйста, отнеситесь серьёзно к работе. Она Вам точно по силам.
Извините, что с отступами так получалось. Прочла о стилях, но не удалось сделать правильно с первого раза.Постаралась сейчас справится с ними.
— Найдите минимум двух чисел 15 и 15. Ответ 15. Больше ничего анализировать и выводить не нужно.
— Вы пишите «Одно из них меньше другого» . Для нахождения минимума не имеет никакого значения окажется ли одно из значений меньше другого или они будут одинаковыми. Если бы в задаче спрашивалось какая из двух переменных хранит меньшее значение, то случай одинаковых значений стоило рассматривать отдельно.
Но минимум будет 15 независимо от того, какое из «двух 15» имеется в виду. Числовые значения (в отличии от переменных) неразличимы.
Изменила код программы, чтобы случай с одинаковыми значениями не рассматривался отдельно.
— Сделайте что-нибудь с текстом «Одно из них меньше другого». Мы уже обсуждали это и даже добавили последний тест, где числа одинаковые. Проблема в том, что Вы прямо утверждаете, что одно из них меньше другого. А это не обязательно. Если бы вы написали «Если одно из них меньше другого, то…» это было бы разумнее.
— Вы заметили, что задача очень простая? Добавьте пожалуйста ещё один код, ещё одной программы с использованием тернарной операции.
Игорь Евгеньевич, исправила текст решения и добавила код программы с использованием тернарной операции.
С программой всё. Больше изменять не будем.
Поработаем над этим текстом: «Если x\leq y , то выводится текст: “min= x “. Иначе, то есть,если y\l x , то выводится текст: “min= y “.»
— Что это такое » y\l x»?
— Пробелы ставят после запятых, а не перед.
— Ваша программа не выводит текст “min= x “. И не должна.
— Ваша программа не выводит текст “min= y “. И не должна.
Игорь Евгеньевич, исправила недочеты, связанные с текстом.
Зачтено.
Хотя стоило бы проверять не на «меньше либо равно», а просто «меньше». Во-первых, в случае равенства не важно, х или у выводить. Во-вторых, проверка на равенство для значений с плавающей повлечёт много дополнительных вопросов со стороны преподавателя (помните, я на лекции об этом рассказывал?)