• Является ли код правильным?

    @alexalexes
    (x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) == 0

    Пока переменные - целые числа. Данное выражение может сработать на истину.
    Но если захотите вещественные числа применять, то придется ввести константу или переменную для сглаживания погрешности работы с числами с плавающей запятой.
    abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) <= eps

    eps - это макс. значение ошибки, при работе с числами с плавающей запятой. Очень сильно будет зависеть, в каких масштабах будут остальные переменные. Если единицы - то eps будет 0,001, если другие переменные сотни и тысячи, то эпсилон будет 0,1 (для примера привел числа, чтобы понимать масштаб).
    Ответ написан
    Комментировать
  • В чем ошибка блок-схемы?

    @Mercury13
    Программист на «си с крестами» и не только
    Если считать, что прога верная, а блок-схема нет.

    1. Непонятно, почему ввода нет, вывод есть.
    2. Начальное присваивание smallest опущено.
    3. Очень креативно изображён двойной цикл. Не знаю, верно ли это — но пару вложенных циклов, если рамки внутреннего не зависят от того, что творится во внешнем и не нужно прерывать один внутренний, я бы написал оба в одном шестиугольнике.
    4. Условие внутреннего цикла я бы написал i=[0..n)
    5. В программе сначала выводим сообщение, потом матрицу. На БС наоборот.

    PS. Чёртов препод, ну не годится тут блок-схема, и точка. Может, она больше годилась, когда не было структурного программирования…
    Ответ написан
    Комментировать
  • В чем ошибка блок-схемы?

    @Acaunt
    Ну снова привет. Уже отвечал на другой твой вопрос с другой блок схемой. Ты сам то можешь самостоятельно проанализировать свою блок схему?

    Ну ладно про эту блок схему:
    1) у тебя не все операции прописаны в блок схеме, и не все понятны что конкретно делает определённый блок например вывод в консоль.
    2) в цикле не правильно указаны пути от логического сравнения
    654330fa5ad27364227815.png

    Ну вроде это всё.
    Ответ написан
    Комментировать
  • В чем ошибка кода?

    includedlibrary
    @includedlibrary
    int cubeI(int num) {
        if (num > 5) {
            cout << num << " ";
            return pow(num, 3);
        }
    }
    
    long cubeL(long num) {
        if (num > 5) {
            cout << num << " ";
            return pow(num, 3);
        }
    }

    Если элемент меньше или равен пяти, функции должны возвращать исходное значение. Нужно добавить return num после if, иначе будет возвращено то, что на момент выхода из функции было в регистре rax (если у вас amd64 архитектура).
    Ответ написан
    7 комментариев
  • В чем ошибка блок-схемы?

    @Acaunt
    Я последний раз трогал блок схемы в начальных классах поэтому возможно не совсем правильно нарисовал. Но основную мысль думаю можно увидеть.
    653189808fb8a794620742.png
    Первое что я заметил это перепутаны логические выходы проверки на количество оценок.
    Второе отсутствует операция сложения оценок.
    Третье как по мне не очень понятен был показан у тебя пути работы цикла, не было стрелки того куда идти для повторения цикла и логический выход из цикла.
    Возможно ещё что-то, но я не совсем хорошо помню эти блок схемы.
    Ответ написан
    Комментировать