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

Функция типа bool - C++

Восстановить пароль Регистрация
 
Dmitrin
21 / 21 / 3
Регистрация: 04.12.2012
Сообщений: 500
12.02.2013, 20:43     Функция типа bool #1
Сумма первой и последней цифры в введенном четырехзначном числе является нечетным значением. Если это так, то функция должна возвращать либо false, либо true.
То есть, вводим число 4023 (и должно вывести на экран 1(true), так как 4+3-нечетное, либо я не так понимаю?)
Вводим 2782 (выводит 0 (false), 2+2-четное)
Я попробовал сделать так, подскажите, как сделать правильнее (программа корректно не работает)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
 
bool check(char mas[])
{
    bool fag;
    int chislo;
    chislo=mas[0]+mas[3];
    if (chislo % 2==0)
        return fag=false;
    else return fag=true;
}
void main(void)
{
    char mas[5];
    cout<<"Vvedite chetirexznachnoe chislo: ";
    gets(mas);
    check(mas);
    cout<<"Resultat: "<<check<<endl;
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2013, 20:43     Функция типа bool
Посмотрите здесь:

C++ размер типа bool
C++ функция типа bool
Возвращение типа bool C++
bool функция, нужен разбор C++
Почему переменная типа bool весит 1 байт? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6900 / 5140 / 252
Регистрация: 10.12.2010
Сообщений: 22,584
Записей в блоге: 17
12.02.2013, 20:57     Функция типа bool #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
//---------------------------------------------------------------------------
using namespace std;
//---------------------------------------------------------------------------
bool check(const int i)
{
    int first = i/1000;
    int last  = i%10;
 
    return (first+last)%2 != 0;
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
cout<< boolalpha << check(4023) <<endl;
cout<< boolalpha << check(2782) <<endl;
 
getchar();
return 0;
}
//---------------------------------------------------------------------------
Dmitrin
21 / 21 / 3
Регистрация: 04.12.2012
Сообщений: 500
12.02.2013, 21:05  [ТС]     Функция типа bool #3
Эти 2 числа - только пример. Нужно, чтобы проверялось введенное четырехзначное число.
Avazart
 Аватар для Avazart
6900 / 5140 / 252
Регистрация: 10.12.2010
Сообщений: 22,584
Записей в блоге: 17
12.02.2013, 21:07     Функция типа bool #4
Ну так вводите в чем проблема ?
C++
1
2
3
4
5
6
7
8
9
int main()
{
  int i;
  cin>>i; 
  cout<< boolalpha<< check(i) <<endl;
 
  getchar();
  return 0;
}
M9ICHIK
 Аватар для M9ICHIK
63 / 63 / 13
Регистрация: 09.12.2012
Сообщений: 458
12.02.2013, 21:28     Функция типа bool #5
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
//---------------------------------------------------------------------------
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
 
using namespace std;
 
bool check(char mas[])
{
    int chislo;
 
    chislo=atoi(&mas[0])+atoi(&mas[3]);
    if (chislo % 2==0)
        return 0;
    else return 1;
}
void main(void)
{
    char mas[5];
    cout<<"Vvedite chetirexznachnoe chislo: ";
    gets(mas);
    cout<<"Resultat: "<<check(mas)<<endl;
    getch();
}
Добавлено через 10 минут
В место
C++
1
 chislo=atoi(&mas[0])+atoi(&mas[3]);
Надо вставить
C++
1
2
3
    int n=mas[0] - '0';
    int m=mas[3] - '0';
    chislo=n+m;
Dmitrin
21 / 21 / 3
Регистрация: 04.12.2012
Сообщений: 500
12.02.2013, 22:28  [ТС]     Функция типа bool #6
Хорошо, все большое спасибо))
Yandex
Объявления
12.02.2013, 22:28     Функция типа bool
Ответ Создать тему
Опции темы

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