0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
1

Функция которая принимает целое беззнаковое число.

03.12.2011, 21:15. Показов 6918. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вообщем надо написать функцию которая принимает целое беззнаковое число и возвращает true,

если число четное и false в противном случае.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h> 
#include <math.h>
void main ()
 
 
 
 
{
    unsigned long int a;
    cout << "Vvedite chislo" <<endl;
    cin >> a;
    if(!(a % 2))
    {
        cout << ("Chetnoe...") << endl;
    }  //четное
    else
    {
        cout << ("Ne chetnoe") << endl;
    } // не четное
}
Написал такой цикл на проверку четности, но вот как это в функцию записать и что б она возвращала значение тру или фолс не знаю ( по заданию, я так понимаю что прога должна вывести тру или фолс только в зависимости какое число мы ввели)

И еще я ввел unsigned int а оно всеравно принимает число с минусом ...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2011, 21:15
Ответы с готовыми решениями:

Написать функцию, которая принимает 32 битное целое число и возвращает 16 битное целое число
Помогите написать программу, использующую функцию, которая принимает 32 битное целое число и...

Создайте функцию, которая принимает в качестве аргумента целое число и возвращает число Люка с таким номером
1. Создайте функцию, которая принимает в качестве аргумента целое число и возвращает число Люка с...

Беззнаковое целое и отрицательное число
Здравствуйте. Если я сначала из беззнакового целого числа вычту положительное число, а потом...

Написать программу, которая принимает целое положительное число и выводит на экран:
Помогите пожалуйста решить задачу с оператором switch . Написать программу, которая принимает...

22
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
03.12.2011, 21:18 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h> 
 
bool ODD(int x)
{
 if(x%2)
   return true;
 else 
   return false;
}
 
void main ()
{
        long int a;
        cout << "Vvedite chislo" <<endl;
        cin >> a;
        cout << ODD(a);
}
0 если четное, 1 если нет.
0
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
03.12.2011, 21:22  [ТС] 3
Немного не так работает,
должно вывести на экран true если если число четное и false если не четное, а выводит по вашему коду так
Миниатюры
Функция которая принимает целое беззнаковое число.  
0
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
03.12.2011, 21:26 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream.h> 
 
void ODD(int x)
{
 if(x<0)x=-x;
 if(!x%2)
   cout<<"true";
 else 
   cout<<"false";
}
 
void main ()
{
        long int a;
        cout << "Vvedite chislo" <<endl;
        cin >> a;
        ODD(a);
}
0
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
03.12.2011, 21:31  [ТС] 5
Выводит вообще на оборот и я не знаю почему так

и должно принимать число только беззнаковое а я ввожу -7 пишит тру
0
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
03.12.2011, 21:36 6
Код исправил.
0
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
03.12.2011, 21:39  [ТС] 7
на любое число пишит фолс попробуйте сами))
0
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
03.12.2011, 21:45 8
Блин..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream.h> 
 
void ODD(int x)
{
 if(x<0)x=-x;
 if(x%2)
   cout<<"false";
 else 
   cout<<"true";
}
 
void main ()
{
        long int a;
        cout << "Vvedite chislo" <<endl;
        cin >> a;
        ODD(a);
}
0
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
03.12.2011, 22:31  [ТС] 9
Наверно правельней так будет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h> 
 
void ODD(int x)
{
 if(x<0)
     cout<<"false"<<endl;
  else 
 if(!(x % 2))
   cout<<"true"<<endl;
 else 
   cout<<"false"<<endl;
}
 
void main ()
{
        long int a;
        cout << "Vvedite chislo" <<endl;
        cin >> a;
        ODD(a);
}
Добавлено через 15 минут
Но забыл проверить что 2.2 тоже должно показывать как фолс т.к. с запятой... дописывал unsigned в тип и ничего не изменилось как реализовать?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
03.12.2011, 22:40 10
AncinetHero, вообще-то это тип данных

Цитата Сообщение от mr_aleks Посмотреть сообщение
целое беззнаковое число
C
1
void odd (unsigned int val);
Если еще актуально, могу код написать

Добавлено через 1 минуту
Цитата Сообщение от mr_aleks Посмотреть сообщение
Но забыл проверить что 2.2 тоже должно показывать как фолс т.к. с запятой... дописывал unsigned в тип и ничего не изменилось как реализовать?
Дело в том, что при вводе в переменную целого типа вещественного числа, дробная часть отбрасывается
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
03.12.2011, 22:42 11
mr_aleks, неправильно, чтобы такая функция выводила что-то на консоль
у вас и в задании написано:
Цитата Сообщение от mr_aleks Посмотреть сообщение
возвращает true,
если число четное и false в противном случае.
C
1
2
3
4
int even(unsigned n)
{
    return (n & 1) == 0;
}
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
03.12.2011, 22:45 12
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
bool isEven(unsigned val)
{
    return (val % 2 == 0);
} 
 
int main()
{
    std::cout << std::boolalpha << isEven(100500) << '\n' << isEven(100501);
}
0
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
03.12.2011, 23:07  [ТС] 13
go, актуально напешите ваш вариант

Net_Wanderer, я это и подозревал, тоесть на экран должно вывести 0 или 1 получается ?


Jupiter, немного не поняте ваш код, я так понимаю что число вводится с клавиатуры. притом что если заменить на отрицательное число в вашем коде будет выдавать тру хотя не так должно! а с запетой не компелировало
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
03.12.2011, 23:23 14
Цитата Сообщение от mr_aleks Посмотреть сообщение
немного не поняте ваш код, я так понимаю что число вводится с клавиатуры.
У него нет
Вот мой
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 <iostream>
 
using namespace std;
 
 
bool odd (unsigned value)
{
    return (value % 2) ? false : true;
}
 
 
int main (int argc, char* argv[])
{
    unsigned val;
 
    cout << " Enter num = " ;
    cin >> val;
 
    cout << boolalpha << odd (val) << endl;
 
    system ("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
03.12.2011, 23:25  [ТС] 15
go, так то оно правельно все выдает, но на отрицательные и дробные пишит тру
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
03.12.2011, 23:26 16
mr_aleks, если в беззнаковое число загнать число с минусом или вообще в любой целый тип в Си/С++(про типы с плавающей точкой не знаю) загнать число превышающее верхний или нижний предел то происходит переполнение, в Си/С++ переполнение не контролируется, оно просто отбрасывает верхний/нижний предел, выведи на экран свое отрицательное число, и ты увидишь, что оно у тебя не отрицательное
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
03.12.2011, 23:32 17
Цитата Сообщение от mr_aleks Посмотреть сообщение
Net_Wanderer, я это и подозревал, тоесть на экран должно вывести 0 или 1 получается ?
задача функции: определять является ли число четным или нет

а как использовать возвращаемое ею значение и что выводить на экран - уже ваше дело
Цитата Сообщение от mr_aleks Посмотреть сообщение
Но забыл проверить что 2.2 тоже должно показывать как фолс т.к. с запятой... дописывал unsigned в тип и ничего не изменилось как реализовать?
читать в строку, и проверять что там (точка, минус, etc.)
1
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
03.12.2011, 23:37 18
ввели в строку, прошлись по строке в поиске точки и знака, потом функций atoi преобразовали строку в число и дальше уже моей функцией.
0
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
03.12.2011, 23:42  [ТС] 19
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
читать в строку, и проверять что там (точка, минус, etc.)
нехира не понял, но не подумайте что я ...


Цитата Сообщение от go
ввели в строку, прошлись по строке в поиске точки и знака, потом функций atoi преобразовали строку в число и дальше уже моей функцией.
зачем столько замудренных действий?

Мб я не правельно понял что такое безнаковое целое число?
- по логике даже понятно, что со знаком типо +, - не должно выполняться или дробное тоесть не целое!
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
03.12.2011, 23:48 20
Цитата Сообщение от go Посмотреть сообщение
и дальше уже моей функцией.
odd - нечетный, even - четный
0
03.12.2011, 23:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2011, 23:48
Помогаю со студенческими работами здесь

Распаковать беззнаковое целое число в четыре символа
«Распаковать» беззнаковое целое число в четыре символа. Длина беззнакового целого равна 4. Помогите...

Написать функцию, которая принимает в качестве аргумента целое число по ссылке, и увеличивает его на единицу
Dev C++

Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым
3. Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет,...

Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым.
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru