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

Не выполняется (проскакивает) оператор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ разложение числа http://www.cyberforum.ru/cpp-beginners/thread958194.html
Как ,допустим, разложить число 1924 на 1 9 2 4. Даже идей нет
C++ Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. Дана квадратная матрица А порядка n. Найти номер строки матрицы, в которой больше всего единичных элементов. http://www.cyberforum.ru/cpp-beginners/thread958179.html
C++ Из текстового файла прочитать четные числа и записать их в другой файл (С++)
Из текстового файла прочитать четные числа и записать их в другой файл без использования массива (код С++)
C++ Вывести на экран сообщение о нечетности порядковых номеров букв, следующих после g, l
Вывести на экран сообщение о нечетности порядковых номеров букв, следующих после g, l. Без ASCII кода. Помогите, пожалуйста. Нужно, чтоб программа не просто выводила текст, а сама считала.
C++ Задачка про деревья на рекурсию http://www.cyberforum.ru/cpp-beginners/thread958166.html
Пасаны, не особо шарю деревья, а еще нужно рекурсия.. Короче нужна помощь, хотя бы объеснить что как должно работать, буду очень благодарен за помощь Описать рекурсивную функцию , которая: а) определяет, входит ли элемент Е в дерево Т; б) определяет число вхождений элемента Е в дерево Т; в) вычисляет сумму элементов непустого дерева Т (ТЭД=real) ; г) находит величину наибольшего...
C++ чтения заданной строки через fseek Программа должна считать строку из бинарного файла. Но считывает не правильно... подскажите. что тут как я понимаю не так fseek(ff,(sizeof(nom-1))*(i),SEEK_SET); fread(&BLOCKNOTE,sizeof (BLOCKNOTE),1,ff); Сама программа: #include "stdafx.h" #include <iostream> #include <Windows.h> #include <string> подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
24.09.2013, 10:39
Цитата Сообщение от Seryoga_93 Посмотреть сообщение
в типе bool все целочисленные значение >=1 позиционируются как ТРУ
А так же <=1

Цитата Сообщение от Seryoga_93 Посмотреть сообщение
почему, когда я проверяю переменную через ==true - он мне выдает на все значения кроме "1" ложь
Потому, что так и есть. В условии if сравнивается значение переменной с с true, где true обратно конвертируется в единицу. Под переменную типа bool отводится один байт, следовательно туда можно поместить 256 значений, и только одно из них будет равным единице.

Цитата Сообщение от Seryoga_93 Посмотреть сообщение
когда пишешь просто if(c) ... то все нормально
Потому что в условии if автоматически происходит обратное преобразование целочисленного значения в булевское.

Вот попробуйте вот такую штуку:
C++
1
2
3
int i;
 scanf("%d",&i);
 if((bool)i==true) cout<<"TRUE: "<<i ; else cout<<"FALSE: "<<i;
Или вот такой винегрет:
C++
1
2
3
bool c;
 scanf("%d",&c);
 if((bool)(int)c==true) cout<<"TRUE: "<<c ; else cout<<"FALSE: "<<c;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru