Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2022, 14:10   #1
TTIPJ
Новичок
Джуниор
 
Регистрация: 30.06.2022
Сообщений: 4
По умолчанию Проблема с выполнением условия

Почему, неважно какие я данные ввожу, мне всегда пишет одно и тоже, хотя я написал условие для выполнения программы (Если что я новичок в программировании)
TTIPJ вне форума Ответить с цитированием
Старый 30.06.2022, 14:20   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

А увидеть ваше сверхсекретное творение с ошибкой можно только избранным?
macomics вне форума Ответить с цитированием
Старый 01.07.2022, 12:06   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,529
По умолчанию

Это тестовое задание для телепатов
digitalis вне форума Ответить с цитированием
Старый 01.07.2022, 12:14   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

между условием и действием стоит разделитель операторов.
какой именно зависит от ЯЗЫКа.

Цитата:
Это тестовое задание для телепатов
я прошел тест!!!
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 01.07.2022, 15:01   #5
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
я прошел тест!!!
Presentation error
macomics вне форума Ответить с цитированием
Старый 01.07.2022, 17:00   #6
TTIPJ
Новичок
Джуниор
 
Регистрация: 30.06.2022
Сообщений: 4
По умолчанию Всегда пишет "Segment cd intercepts segment ab", хотя есть условие(Я в прошлый раз забыл саму программу добавить)(C++)

Код:
#include <iostream>

using namespace std;

int main()

{
    int a, b, c, d;
    cout << "hello" << endl;
    cout << "Enter a=";
    cin >> a;
    cout << a << endl;
    cout << "Enter b=";
    cin >> b;
    cout << b << endl;
    cout << "Enter c=";
    cin >> c;
    cout << c << endl;
    cout << "Enter d=";
    cin >> d;
    cout << d << endl;
    if (a < c < b && c < b < d)
        cout << " Segment cd intercepts segment ab" << endl; else cout << "Segment cd do not intercepts segment ab" << endl;
}

Последний раз редактировалось BDA; 01.07.2022 в 17:02.
TTIPJ вне форума Ответить с цитированием
Старый 01.07.2022, 17:08   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Интересная статья. Вы компилируете с включенным стандартом C++17 (или более поздним) или нет?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 01.07.2022, 17:33   #8
TTIPJ
Новичок
Джуниор
 
Регистрация: 30.06.2022
Сообщений: 4
По умолчанию

TTIPJ,
Цитата:
Сообщение от TTIPJ Посмотреть сообщение
Почему, неважно какие я данные ввожу, мне всегда пишет одно и тоже, хотя я написал условие для выполнения программы (Если что я новичок в программировании)
Цитата:
Сообщение от BDA Посмотреть сообщение
Интересная статья. Вы компилируете с включенным стандартом C++17 (или более поздним) или нет?
BDA, Я просто скачал Visual Studio, самый последний
TTIPJ вне форума Ответить с цитированием
Старый 01.07.2022, 17:53   #9
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Вот что у вас получается
А именно ваше условие
Код:
        xor     ecx, ecx
        mov     edx, DWORD PTR [rsp+8]
        mov     eax, DWORD PTR [rsp+4]
        cmp     DWORD PTR [rsp], edx
        setl    cl ; результат сравнения a < c (bool значения которого принимают только 0 или 1) ...
        cmp     ecx, eax ; ... сравнивается с b (bool < b)
        jge     .L3
        cmp     edx, eax
        mov     esi, OFFSET FLAT:.LC5
        setl    al ; результат сравнения c < b (bool значения которого принимают только 0 или 1) ...
        movzx   eax, al
        cmp     eax, DWORD PTR [rsp+12] ; ... сравнивается с d (bool < d)
        jl      .L6
Правильно надо написать так
Код:
if ((a < c) && (c < b) && (b < d)) ...

Последний раз редактировалось macomics; 01.07.2022 в 17:56.
macomics вне форума Ответить с цитированием
Старый 01.07.2022, 18:39   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

TTIPJ, кажется, я слишком по диагонали прочел статью. Записывать так сравнения можно в питоне, а в плюсах пока только предлагается. Так что нужно разбить сравнения на попарные, как предложил macomics.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос для excel (перенести данные с одного листа на другой с выполнением условия) TomSawyer Microsoft Office Excel 3 28.11.2014 12:36
Проблема с выполнением функции 2-й раз. men232 Visual C++ 1 15.02.2012 16:41
Проблема с выполнением javascript Ukraine JavaScript, Ajax 1 01.01.2012 00:22
Проблема с выполнением запроса к БД AgentSmit PHP 2 14.04.2011 02:13
Проблема с выполнением скрипта Seqular HTML и CSS 1 12.08.2007 03:54