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

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

Войти
Регистрация
Восстановить пароль
 
Stowyn
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 7
#1

Заменить 0 на 1 или 1 на 0 - C++

04.10.2010, 18:19. Просмотров 735. Ответов 5
Метки нет (Все метки)

Битовая инверсия через If на с++

C++
1
2
3
4
5
6
7
8
9
10
11
bool a;
int main(int argc, char* argv[])
{
cout<<rus("Введите а")<<endl;
cout<<"a=";
cin>>a;
if (a=1) {a=0;}
else a=1;
cout<<rus("Инверсное a=")<<a;
getch();
};
ввожу a=1, выводит 0.
Ввожу a=0, выводит также 0.
Где ошибка? Может есть более простой аналог инверсии для булевых чисел?

P.s: пока печатал, понял ошибку)) а равно 1, должно выглядеть как a==1 ))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2010, 18:19     Заменить 0 на 1 или 1 на 0
Посмотрите здесь:

C++ Если в строке или столбце матрицы только одна единица, то заменить ее нулем
В каждой строке заменить все маленькие буквы после пробела или точки на большие C++
Заменить символами # символы, стоящие в строках или столбцах, где имеются цифры C++
C++ Помощь в работе со строками (Дана строка. Заменить в ней каждую из групп, содержащих 3 или более одинаковых символов многоточием)
C++ Заменить первое число нулем, если оно меньше или равно второму
Даны действительные числа. Заменить их нулём или единицей C++
Что заменить или дополнить, чтобы треугольник стал незаполненным? C++
C++ Если в строках или столбцах есть хотя бы один элемент равный нулю, заменить нулями все их элементы
C++ Убрать (сделать прозрачным) или заменить курсор в SMFL
C++ Вывести все элементы матрицы, сумма индексов которых кратна 3 или 7, остальные символы заменить пробелами
C++ Как удалить нужный элемент из списка или заменить этот элемент на другой?
В заданном двухмерном массиве заменить нулями элементы, стоящие в строках или столбцах, где есть нули C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 18:20     Заменить 0 на 1 или 1 на 0 #2
C++
1
2
3
4
5
6
7
8
9
10
int main(int argc, char* argv[])
{
bool a;
cout<<rus("Введите а")<<endl;
cout<<"a=";
cin>>a;
a=!a;
cout<<rus("Инверсное a=")<<a;
getch();
};
П.С. Это логическая инверсия. Но не битовая никак.
IrishaIrinaChe
28 / 28 / 1
Регистрация: 23.09.2010
Сообщений: 200
04.10.2010, 18:21     Заменить 0 на 1 или 1 на 0 #3
попробуй вместо
Цитата Сообщение от Stowyn Посмотреть сообщение
if (a=1)
поставить if(a==1)
KuKu
1554 / 1032 / 75
Регистрация: 17.04.2009
Сообщений: 2,971
04.10.2010, 18:21     Заменить 0 на 1 или 1 на 0 #4
C++
1
if (a==1) {a=0;}
так
Stowyn
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 7
04.10.2010, 18:24  [ТС]     Заменить 0 на 1 или 1 на 0 #5
Спасибо =)
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
05.10.2010, 08:57     Заменить 0 на 1 или 1 на 0 #6
ИМХО, лучше так.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
    char a;
    std::cout<<"Input A = ";
    std::cin>>a;
    if(true)
        std::cout<<"Inverse A = "<<(a^1);
    return 0;
};
Yandex
Объявления
05.10.2010, 08:57     Заменить 0 на 1 или 1 на 0
Ответ Создать тему
Опции темы

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