0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 16
1

Подскажите, не работают условия, как можно их записать компактнее?

11.10.2020, 13:57. Показов 269. Ответов 3

Author24 — интернет-сервис помощи студентам
Не выводятся данные, после того как добавил 2 первых условия, по идее должно срабатывать последнее условие, как исправить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        if (d < 0)
    {
        cout << "Oshibka" << endl;
    }
    if (d = 0)
    {
        cout << "x1 =" << (-z.b)/(2*z.a) << endl;
    }
    if (d > 0)
    {
        cout << "x1 = " << ((-(z.b) + sqrt(d))/(2*z.a)) << endl;
        cout << "x2 = " << ((-(z.b) - sqrt(d))/(2*z.a)) << endl;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2020, 13:57
Ответы с готовыми решениями:

Как компактнее записать код
Как можно записать этот код с наименьшим количеством строк ? Sub Итог_1_0_1() = = ...

Как можно сделать программу более компактнее
решил использовать новый способ в программе. так вот как можно этот код сделать болие компактнее:...

Задача про кирпич - как можно написать компактнее программу, чтобы она работала?
Sub Кирпич() a = InputBox(&quot;Ширина кирпича a&quot;) b = InputBox(&quot; Высота кирпича b&quot;) c =...

Подскажите можно ли в Dmax указать 2 условия
Здравствуйте. В общем есть таблица ДИ с полями Цех, Номер, ДатаУтверж, остальные не важны в данном...

3
151 / 103 / 49
Регистрация: 21.11.2019
Сообщений: 285
11.10.2020, 14:15 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        if (d < 0)
    {
        cout << "Oshibka" << endl;
    }
    else if (d == 0)
    {
        cout << "x1 =" << (-z.b)/(2*z.a) << endl;
    }
    else
    {
        cout << "x1 = " << ((-(z.b) + sqrt(d))/(2*z.a)) << endl;
        cout << "x2 = " << ((-(z.b) - sqrt(d))/(2*z.a)) << endl;
    }
1
Она кричала хватит
41 / 42 / 7
Регистрация: 21.05.2019
Сообщений: 112
11.10.2020, 14:15 3
Цитата Сообщение от D93M Посмотреть сообщение
if (d = 0)
Вот где ошибка. Должно быть ==
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.10.2020, 15:12 4
D93M, дискриминант - значение типа double, поэтому если хотите чтобы условия срабатывали правильно -
сравнения делайте с помощью малого числа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    double eps=1e-9;
 
    if (D > eps)
    {  
        x1 = (-z.b + sqrt(D))/(2.*z.a);
        x2 = (-z.b - sqrt(D))/(2.*z.a);
        cout << "x1 = " << x1 << "\nx2=" << x2 << "\n";        
    }
    else if (D >-eps && D<eps)
    {
        x1 = -z.b/(2.*z.a);
        cout << "x1 = x2 = " << x1 << "\n";  
    }
    else
    {
        cout << "Нет решений\n";       
    }
0
11.10.2020, 15:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2020, 15:12
Помогаю со студенческими работами здесь

StrToInt - можно ли быстрее и компактнее
StrToInt: push ebp xor ebx,ebx xor edi,edi mov...

Условия не работают как хотелось бы
Доброго времени суток! Пожалуйста помогите нормализовать выполнение условий, проблема в том, что...

Как работают условия в среде Dev-C++?
Я умоляю, подскажите, как работают условия - if - в среде DEV-C++. Не дублируйте вопросы в...

Подскажите переменную, в которую можно записать больше 255 символов
Я использую в своей программе переменную типа String. Но мне нужно туда записать данные из...

Как записать уравнение для данного условия?
На отрезке длинны L наугад поставлены 2 точки X и Y. Событие A: точка X ближе к точке Y чем к...

Подскажите как правильно проверить условия
Подскажите как правильно проверить последнее условие что a b c равны 1. #!/bin/bash i=$(ps ax |...


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

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

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