Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 203, средняя оценка - 4.88
Twitty
0 / 0 / 0
Регистрация: 26.12.2010
Сообщений: 6
#1

BOOL B C++ =( - C++

22.01.2011, 17:02. Просмотров 26293. Ответов 15
Метки нет (Все метки)

объясните, пожалуйста, значение bool, и вообще, что это и зачем?
насколько я понял, это в С++...
и как можно в этом коде заменить bool на более простой тип данных?
(на С-шный)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Sort(int col)
{
    int trash=0;
    bool f=true;
    for (int i=1;  (i<=col) && (f=true)  ;  i++)
      {
         f=false;
         for (int j=1;  j<=col-i;  j++)
            {
               if (array [j]>array [j+1])
                 {
                    trash=array[j];
                    array [j]=array [j+1];
                    array [j+1]=trash;
                    f=true;
                 }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2011, 17:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос BOOL B C++ =( (C++):

не работает bool xor(bool a, bool b) - C++
Учусь по &quot;Базовому курсу&quot; Герберта Шилда #include &lt;iostream&gt; bool xor(bool a, bool d); int main() { bool p, q; cout...

Изменить значение bool a = true в bool a = false - C++
// Логическое выражения - варианты #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

как правильно понять тип bool ? bool true(const string &str) и что дает это значение ? - C++
задам может глупый вопрос, но прошу ответить. как правильно понять тип bool ? bool true(const string &amp;str) и что дает это...

bool+bool=string - C++
Здравствуйте! Прошу помощи в задаче, существует 4 функции, возвращающие 1/0, нужно эти bool последовательно соединить в string. Т.е....

Bool - C++
Обьясните мне, как они pаботают и где их пpименять =( Вот с помощью учебника написал пpогу #include &quot;stdafx.h&quot; #include...

bool - C++
Помогите с функцией, ее нужно реализовать с помощью типом данных bool Напишите функцию, которая принимает число и возвращает истину,...

15
Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
22.01.2011, 17:14 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
bool логический тип который принимает значения только true (еденица, истина) или false (ноль, ложь). Используется как флаг и его можно заменить тем же int'ом, имея ввиду что true = 1, а false = 0
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Sort(int col)
{
    int trash=0;
    int f=1;
    for (int i=1;  (i<=col) && (f==1)  ;  i++)
      {
         f==0;
         for (int j=1;  j<=col-i;  j++)
            {
               if (array [j]>array [j+1])
                 {
                    trash=array[j];
                    array [j]=array [j+1];
                    array [j+1]=trash;
                    f==1;
                 }
5
Twitty
0 / 0 / 0
Регистрация: 26.12.2010
Сообщений: 6
22.01.2011, 17:36  [ТС] #3
ааа.спасибо)
0
killboss
60 / 60 / 2
Регистрация: 18.12.2010
Сообщений: 127
22.01.2011, 22:52 #4
Цитата Сообщение от Twitty Посмотреть сообщение
как можно в этом коде заменить bool на более простой тип данных?
Что значит простой тип данных? Bool принемает 2 значения: true, false. Куда проще?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
22.01.2011, 22:58 #5
C
1
2
3
4
5
6
7
8
typedef int BOOL;
#define TRUE 1
#define FALSE 0
...
BOOL b = TRUE;
if( b ){
 
}
ну вы поняли
0
killboss
60 / 60 / 2
Регистрация: 18.12.2010
Сообщений: 127
22.01.2011, 23:00 #6
Цитата Сообщение от alex_x_x Посмотреть сообщение
typedef int BOOL;
#define TRUE 1
#define FALSE 0
...
BOOL b = FALSE
if( b ){
}
Ну вы поняли
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
22.01.2011, 23:14 #7
Цитата Сообщение от alex_x_x Посмотреть сообщение
typedef int BOOL;
#define TRUE 1
#define FALSE 0
...
BOOL b = TRUE;
if( b ){
}
смысла вообще не понятно..
typedef int BOOL;
зачем? если и так bool, а так что ли не работает? if (true) {}, все прекрасно работает. true это же все значения отличные от нуля. Ваш код работает, но смысла в нём не вижу (просветите если что не так), можно запутаться
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.01.2011, 23:19 #8
Цитата Сообщение от NiRamz Посмотреть сообщение
зачем? если и так bool
еще существуют старые компиляторы выпущеные до поддерки типа bool

Цитата Сообщение от NiRamz Посмотреть сообщение
typedef int BOOL;
а bool в 2 байта - это интерсно если программируешь микроконтроллеры
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
22.01.2011, 23:23 #9
Цитата Сообщение от Maxwe11 Посмотреть сообщение
еще существуют старые компиляторы выпущеные до поддерки типа bool
еще си существует, до 95 стандарта
а два байта было во времена 16битных систем
ну по поводу двух байт конечно по-разному, если про микроконтроллеры речь
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
22.01.2011, 23:29 #10
Цитата Сообщение от Maxwe11 Посмотреть сообщение
еще существуют старые компиляторы выпущеные до поддерки типа bool
в таком случаи использовать if(1) {} и if(0) {} нельзя? или я чего то не понимаю ..)
Цитата Сообщение от Maxwe11 Посмотреть сообщение
а bool в 2 байта - это интерсно если программируешь микроконтроллеры
а почему 2? typedef int BOOL; выйдет 4. если просто bool, то 1 байт. или я опять ошибаюсь?)
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
22.01.2011, 23:34 #11
Цитата Сообщение от NiRamz Посмотреть сообщение
а почему 2? typedef int BOOL; выйдет 4. если просто bool, то 1 байт. или я опять ошибаюсь?)
bool в си до с95 не было (да в с95 он вообще Bool), а в с++ до с98? я не помню
вообщем автор судя по топику говорит о си

Добавлено через 1 минуту
Цитата Сообщение от NiRamz Посмотреть сообщение
а почему 2? typedef int BOOL; выйдет 4. если просто bool, то 1 байт. или я опять ошибаюсь?)
размер int, как и всего другого кроме char и wchar_t зависит от конечной платформы
1
Nameless One
23.01.2011, 08:49
  #12

Не по теме:

Цитата Сообщение от alex_x_x Посмотреть сообщение
C
1
2
3
4
5
6
7
8
typedef int BOOL;
#define TRUE 1
#define FALSE 0
...
BOOL b = TRUE;
if( b ){
 
}
ну вы поняли
А я бы так сделал:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
 
typedef enum 
{
    FALSE,
    TRUE
} bool_t;
 
int main()
{
    bool_t flag = TRUE;
    if(flag)
        puts("Hello, Bool!");
    exit(0);
}

0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
23.01.2011, 09:13 #13
Nameless One, да, определенно красивей выглядит
однако, подобная строка
C
1
bool_t b = ( 0==5 );
будет работает в си, но не будет работать в плюсах изза невозможности bool преобразовать в enum, а преобразование в int проходит неявно
те legacy не получается

Добавлено через 2 минуты
правда вообще бида-бида, логические операции в си возвращает в качестве истины ненулевое значение, те (5 == 5) мб не равно TRUE?
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
23.01.2011, 09:14 #14
Цитата Сообщение от alex_x_x Посмотреть сообщение
будет работает в си, но не будет работать в плюсах изза невозможности bool преобразовать в enum, а преобразование в int проходит неявно
те legacy не получается
Ну тогда будем использовать встроенный bool
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
23.01.2011, 09:16 #15
Nameless One, я думал об этом =)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2011, 09:16
Привет! Вот еще темы с ответами:

bool в g++ - C++
При компиляции программы в g++ она не выдают никаких ошибок, но во время выполнения ее выкидывает. #include &lt;iostream&gt; using namespace...

Bool на с++ - C++
Здраствуйте =) #include &lt;iostream&gt; using namespace std; int main() { int a; int b; int n; cin&gt;&gt;n; for (int...

bool в div C++ - C++
Здравствуйте. В этот знаменательный день (18 мая 2011 года) я решил начать изучать C++. Поначалу ничто не предвещало беды. Я...

bool без if - C++
Доброго времени суток. Вот такая воот задача Даны два целых числа A,B проверить истинность высказывания. Справедливы неравенства (a&gt;2) и...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
23.01.2011, 09:16
Ответ Создать тему
Опции темы

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