Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

функция - C++

19.04.2013, 11:43. Просмотров 1199. Ответов 13
Метки нет (Все метки)

функцию которая проверяет аргумент на нечетность. Аргумент функции величина типа int, результат true, если аргумент нечетный, false – если четный.

Вот я пробовал её написать , но почему-то она работает не так. Подскажите в чём проблема
C
1
2
3
4
5
bool odd (int i, bool k)
{if ((i/2)==1)
{k=true;} else k=false;
return k;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2013, 11:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос функция (C++):

Функция удаления текста в скобках [2], непосредственно функция + 12кб вложений - C++
Доброго времени суток, случилось так, что пришлось работать с с-строками (лаба, угу), в которой нужно удалить весь текст в скобках,...

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

Функция sqrt: существует более одного экземпляра. Функция перегруженная - C++
#include <iostream> #include <math.h> #include <iomanip> using namespace std; int main(){ float s, p; int c, a; s=0; ...

какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() - C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()

Чистая виртуальная функция функция не имеет оператора переопределения - C++
Пишу программу для записи заметок. Есть 2 класса: Page и Note. Note наследуется от Page. Page.h #pragma once ...

что за функция такая strstr? или это не функция? - C++
void search(sp *list){ sp *prt = list; char f,r; cout<<Rus("введите текст")<<endl; cin>>f; cout<<Rus("введите выходной...

13
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
19.04.2013, 12:02 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
bool odd (int i) { // изменил
    if ((i%2)==1)   // Знак / заменил на %
        return true;
    else 
        return false;
}
 
int main()
{
    std::cout << odd(6) << std::endl;  // 0
    std::cout << odd(7) << std::endl;  // 1
    system("pause>0");
    return 0;
}
2
thDarkk
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6
19.04.2013, 12:11  [ТС] #3
о всё норм работает спс
0
stima
493 / 343 / 43
Регистрация: 22.03.2011
Сообщений: 1,104
Завершенные тесты: 2
19.04.2013, 12:18 #4
Цитата Сообщение от SummerRain Посмотреть сообщение
C++
1
bool odd (int i) { return i % 2 == 1; }
Подправил
1
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
19.04.2013, 12:22 #5
Цитата Сообщение от stima Посмотреть сообщение
Подправил
я тоже сначала хотел также написать, но, видя такие глупые ошибки, понял, что ТС вряд ли поймёт такую запись.
Поэтому сделал длиннее, но яснее.
2
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.04.2013, 12:28 #6
C++
1
bool odd (int i) { return i % 2; }
Уменьшил
1
stima
493 / 343 / 43
Регистрация: 22.03.2011
Сообщений: 1,104
Завершенные тесты: 2
19.04.2013, 12:38 #7
Цитата Сообщение от Tulosba Посмотреть сообщение
C++
1
bool odd (int i) { return i % 2; }
Уменьшил
А вот по этому я могу с вами поспорить.
Результат i % 2 это число, а мы возвращаем bool да оно неявно конвертиться, но при -wall pedantic вы схлопочете.
1
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
19.04.2013, 12:40 #8
C++
1
bool odd (int i) { return (bool)(i % 2); }
и не страшны никакие педантики
2
stima
493 / 343 / 43
Регистрация: 22.03.2011
Сообщений: 1,104
Завершенные тесты: 2
19.04.2013, 12:43 #9
Цитата Сообщение от SummerRain Посмотреть сообщение
C++
1
bool odd (int i) { return (bool)i % 2; }
и не страшны никакие педантики
считаем? '(bool)' - 6 символов и '== 1' - 3 символа.
1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.04.2013, 12:47 #10
так как boolalpha при выводе не используется, см сообщение #2, то можно вообще bool на int поменять. Ещё сэкономим пару нажатий на клавиатуру
1
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
19.04.2013, 12:47 #11
ну окей, я тоже, пожалуй, повыпендриваюсь
ЕЩЁ КОРОЧЕ:
C++
1
bool odd(int i) {return i & 1;}
1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.04.2013, 12:50 #12
Цитата Сообщение от SummerRain Посмотреть сообщение
Причина: забыл скобки
Ну, всё, stima теперь вообще символами задавит

Добавлено через 1 минуту
Цитата Сообщение от SummerRain Посмотреть сообщение
ЕЩЁ КОРОЧЕ:
C++
1
bool odd(int i) {return i & 1;}
Всё равно ж int в итоге. Надо тогда
C++
1
bool odd(int i) {return i && 1;}
0
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
19.04.2013, 12:51 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
bool odd (int i) {return i && 1;}
 
 
int main()
{
    std::cout << odd(6) << std::endl;  // 0
    std::cout << odd(7) << std::endl;  // 1
    system("pause>0");
    return 0;
}
Выводит
1
1
Цитата Сообщение от Tulosba Посмотреть сообщение
Всё равно ж int в итоге. Надо тогда
А у меня MSVS 2010 никаких предупреждений тут как раз не выводит, в отличие от
C++
1
bool odd (int i) {return i % 2;}
2
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.04.2013, 12:58 #14
Цитата Сообщение от SummerRain Посмотреть сообщение
Выводит
Ой. Это я тупанул что-то
0
19.04.2013, 12:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2013, 12:58
Привет! Вот еще темы с ответами:

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов - C++
Write программу с использованием класса Вектор (не без помощи форумчанина), но необходимо создать производный класс, в котором реализована...

Функция заполняющая массив и функция вывода массива - C++
Напишите две функции. Первая функция заполняет массив, вторая функция выводит массив на экран

Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива - C++
Есть программа #include &lt;iostream&gt; #include &lt;algorithm&gt; const int N = 5; int handSet(void) { int a; std::cout...

Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел - C++
Разработать заданные согласно условия функции и сделать в главной программе по два вызова этих функций с различными параметрами. Для...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.