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

Булевская переменная - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
maxon56
2 / 2 / 1
Регистрация: 30.12.2010
Сообщений: 91
15.02.2012, 21:46     Булевская переменная #1
Написать программу, в результате выполнения которой булевская переменная t получает значение true, если выполняется указанное условие, и значение false в противном случае:
цифра m входит в десятичную запись четырехзначного числа n

Почему выводит 0?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include <iostream.h>
#include <conio.h>
int main(int argc, char* argv[])
{int a,b;
  cout << "Enter a,b  ";
  cin >> a >> b;
  int k,l,t;
  bool flag;
  k=b/1000;
  l=(b/100)-(k*10);
  t=(b/10)-(k*100)-(l*10);
  flag=false;
   if (b=k)
   { flag=true;}
    if (b=t)
    { flag=true;}
     if (b=l)
     { flag=true;}
   else
   flag=false;
   cout << "Rez  " <<flag ;
   getch ();
        return 0;
}
//---------------------------------------------------------------------------
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2012, 21:46     Булевская переменная
Посмотрите здесь:

C++ переменная
Написать программу, в результате выполнения которой булевская переменная t получает значение TRUE, если выполняется заданное условие... C++
булевская переменная C++
C++ Переменная
Булевская переменная C++
Переменная не инициализирована C++
C++ Статическая переменная
Мультитипная переменная C++
Мультитипная переменная C++
C++ Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз
Переменная не инициализирована C++
Переменная или переменная и условие C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AzaKendler
 Аватар для AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
15.02.2012, 21:59     Булевская переменная #2
Цитата Сообщение от maxon56 Посмотреть сообщение
if (b=k)
* *{ flag=true;}
* * if (b=t)
* * { flag=true;}
* * *if (b=l)

в if должно быть не = а == как минимум
C++
1
if (b==k)
, если имелось ввиду сравнение. иначе ты не сравниваешь а просто присваиваешь новое значение переменной в левой части
maxon56
2 / 2 / 1
Регистрация: 30.12.2010
Сообщений: 91
15.02.2012, 22:10  [ТС]     Булевская переменная #3
Исправил. Ничего не изменилось.
WebMax 2.0
--\.founder./--
 Аватар для WebMax 2.0
558 / 558 / 206
Регистрация: 20.10.2011
Сообщений: 867
15.02.2012, 22:13     Булевская переменная #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
 
int main()
{
setlocale(LC_ALL,"Rus");
    int n,m,a=0;
    bool b=false;
 
cout<<"Введите четырехзначное десятичное число: ";
cin>>a;
cout<<"\nM = ";
cin>>m;
     while (a>0) 
     {
         n=a%10; 
         a=a/10;
         if (n==m) 
             {
                 b=true;
                 break;
         }
     }         
 
if (b==true)
cout<<"True"<<endl;
else
cout<<"False"<<endl;
        system ("pause");
        return 0;
}
Ланселот
6 / 6 / 1
Регистрация: 30.08.2011
Сообщений: 32
15.02.2012, 22:22     Булевская переменная #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc, char* argv[])
{int m,n;
  cout << "Enter m, n  ";
  cin >> m ;
  cin >> n;
  int k,l,t;
  bool flag;
  k=n/1000;
  l=(n/100)-(k*10);
  t=(n/10)-(k*100)-(l*10);
  flag=false;
   if ((m==k)||(m==t)||(m==l)) flag=true;
    else flag=false;
   if (flag) cout << "Vxodit ";
   else cout<<"Ne vxodit";
   getch ();
        return 0;
}
ValeryS
Модератор
6414 / 4880 / 448
Регистрация: 14.02.2011
Сообщений: 16,186
15.02.2012, 22:35     Булевская переменная #6
Булева переменная на то и булева что принимает логические значения
посему писать
Цитата Сообщение от maxon56 Посмотреть сообщение
if (b=k)
{ flag=true;}
в корне не верно
достаточно написать так flag=(b==k);
а уж тем более так
Цитата Сообщение от WebMax 2.0 Посмотреть сообщение
if (b==true)
проверка на истину
C++
1
if(b)
проверка на ложь
C++
1
if(!b)
по сему запись

Цитата Сообщение от maxon56 Посмотреть сообщение
flag=false;
if (b=k)
{ flag=true;}
if (b=t)
{ flag=true;}
if (b=l)
{ flag=true;}
else
flag=false;
не правильна да и логика здесь нарушена
задача

Цитата Сообщение от maxon56 Посмотреть сообщение
цифра m входит в десятичную запись четырехзначного числа n
т.е может входить один раз или несколько а в данной записи все цифры равны!!!
во вторых цифра a число b
как ты думаешь

Цитата Сообщение от maxon56 Посмотреть сообщение
k=b/1000;
Цитата Сообщение от maxon56 Посмотреть сообщение
if (b=k)
b будет равно к
исправляю только проверку
C++
1
flag=(a==k)|| (a==t)||(a==t)||(a==m);
a==m это четвертый знак который ты не расчитал
по правильному будет так
C++
1
2
3
4
 k=b/1000;   // тысячи
  l=(b/100)-(k*10); // сотни можно так l=(b%1000)/100
  t=(b/10)-(k*100)-(l*10); // десятки можно так t=(b%100)/10
  m=b%10 //единицы
Yandex
Объявления
15.02.2012, 22:35     Булевская переменная
Ответ Создать тему
Опции темы

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