0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
Записей в блоге: 9
1

Логическое и

05.04.2014, 22:25. Показов 1001. Ответов 3
Метки нет (Все метки)

Это ведь && ? Тогда можете объяснить, в чем разница? пояснение после кода (весь привел на всякий случай)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "../../std_lib_facilities.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    vector<string> words;
    string temp;
    string disliked = "Broccoli";
    string dis = "BLEEP";
    cout << "Vvedite slova (Broccoli - nezelatelnoe slovo!):\n";
    while (cin>>temp)
        words.push_back(temp);
    cout << "Kolocestvo slov: " << words.size() << endl;
    sort(words.begin(), words.end());
    for (int i=0; i<words.size(); ++i)
        if (i==0 || words [i-1] != words[i] && words[i] == disliked)
            cout << dis <<'\n';
        else if (i==0 || words[i-1] != words[i] && words[i] != disliked)
            cout << words[i] << '\n';
    system("pause");
    return 0;
}
В чем разница между
C++
1
2
3
4
if (i==0 || words [i-1] != words[i] && words[i] == disliked)
            cout << dis <<'\n';
        else if (i==0 || words[i-1] != words[i] && words[i] != disliked)
            cout << words[i] << '\n';
и
C++
1
2
3
4
5
6
if (i==0 || words [i-1] != words[i])
            if (words[i] == disliked)
            cout << dis <<'\n';
        else if (i==0 || words[i-1] != words[i])
            if (words[i] != disliked)
            cout << words[i] << '\n';
?
Работает только второй вариант. Если делаю первый, то выдает кучу ошибок. И как тогда пользоваться && ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2014, 22:25
Ответы с готовыми решениями:

Логическое выражение
Записать логическое выражение, которое является истинным, когда число N чётное делится на 7, но не...

Логическое выражение
2е задание на c++ П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других...

Логическое выражение
Здравствуйте. Запишите логическое выражение, которое принимает значение &quot;истина&quot; тогда и только...

ЛВ(ЛОГИЧЕСКОЕ ВРОЖЕНИЯ)
Помогите составить ЛВ в схеме if допустим int a; cin&gt;&gt;a; if(6&gt;12) { cout&lt;&lt;&quot;Hello...

3
Модератор
Эксперт по электронике
8517 / 6332 / 858
Регистрация: 14.02.2011
Сообщений: 22,012
05.04.2014, 22:34 2
Лучший ответ Сообщение было отмечено kre-sod как решение

Решение

Цитата Сообщение от kre-sod Посмотреть сообщение
Работает только второй вариант. Если делаю первый, то выдает кучу ошибок.
вторая запись не идентична первой
посмотри например к чему относится else

Добавлено через 1 минуту
да и скобки расставь
1
Заблокирован
05.04.2014, 22:46 3
Лучший ответ Сообщение было отмечено kre-sod как решение

Решение

Приоритет операций

Равно / не равно выполняется раньше, чем логические И / ИЛИ
Поэтому нужны скобки.
1
12 / 12 / 7
Регистрация: 09.10.2013
Сообщений: 222
06.04.2014, 02:13 4
а проще так, мне кажется:
C++
1
2
3
4
5
6
7
if ((i == 0) || (words[i-1] != words[i])){
    if (words[i] == disliked){
    cout << dis << endl;
    } else {
    cout << words[i] << endl;
    }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2014, 02:13

Логическое сравнение
#include &lt;iostream&gt; using namespace std; //ЗАДАНИЕ 3 Первые 3 цифры из дробной части...

Логическое задание на С++
Помогите пож-та еще с вот такой задачкой:

Вычислить логическое выражение
Помогите написать программу!!!

Написать логическое выражение
как написать формулы на с++ формула во вложении Когда же, наконец, Вы запомните П.5.18.Правил ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.