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

Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.72
Anastasia777
1 / 1 / 0
Регистрация: 23.09.2012
Сообщений: 59
23.09.2012, 10:28     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #1
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <algorithm> 
#include <iostream>  
#include <conio.h>
 
using namespace std; 
 
bool cmp(int x, int y) { return abs(x) < abs(y); } 
 
int main() { 
     int a[10];
    cout << "vvedite massiv a[10]:"; 
for(int i =0;i < 10;i++)cin >> a [ i ] ; 
cout << "\ninput array:"; 
for(int i =0;i < 10;i++)cout << a[ i ] << " "; 
cout << "\nresult: " << *min_element(a, a + 10, cmp) << endl;
getch();
return 0;
}
обьясните пожалуйста , что такое bool cmp(int x, int y) { return abs(x) < abs(y); }
и #include <algorithm>
Буду очень благодарна!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 10:37     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #2
Цитата Сообщение от Anastasia777 Посмотреть сообщение
bool cmp(int x, int y) { return abs(x) < abs(y); }
само зарезервированное слово bool обозначает булевский тип данных true,flase вся строка это функция возвращает true если у по модулю больше х

Добавлено через 3 минуты
Цитата Сообщение от Anastasia777 Посмотреть сообщение
<algorithm>
это стандартный заголовок С++ в нем есть различные алгоритмы например
C++
1
min_element(a, a + 10, cmp)
нахождение минимального в массиве А по принципу сmp
про алгоритм
Кликните здесь для просмотра всего текста
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 10:37     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #3
Цитата Сообщение от Anastasia777 Посмотреть сообщение
и #include <algorithm>
Подключение библиотеки алгоритмов. Нужно для использования алгоритма min_element().
Anastasia777
1 / 1 / 0
Регистрация: 23.09.2012
Сообщений: 59
23.09.2012, 10:43  [ТС]     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #4
а что такое " принцип сmp"?
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 10:49     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #5
Цитата Сообщение от Anastasia777 Посмотреть сообщение
а что такое " принцип сmp"?
это значит что сравниватся будет как описано тут
C++
1
bool cmp(int x, int y) { return abs(x) < abs(y); }
тоесть правое с левым, и левое должно быть меньше
принцип работы
Anastasia777
1 / 1 / 0
Регистрация: 23.09.2012
Сообщений: 59
23.09.2012, 13:36  [ТС]     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #6
можете обьяснить , зачем здесь нужна строка bool cmp(int x, int y) { return abs(x) < abs(y); }
зачем эти х у? мы же их потом никуда не вводим..
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.09.2012, 13:39     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #7
Anastasia777, откройте книгу и перейдите к параграфу про функторы и предикаты. Внимательно изучите и все вопросы отпадут.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 15:17     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #8
min_element(a, a + 10, cmp) упорядочивает последовательность элементов от а до а + 10. cmp() определяет для min_element(), как сравнивать елементы в этой последовательности. min_element() берёт два элемента последовательности и передаёт их в cmp() в виде параметров x и y : сmp(x, y). Если cmp(x, y) возвращает true, то min_element() делает вывод, что x меньше y и значит x должен стоять перед y. Таким образом min_element() выстраивает последовательность по возрастанию.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 15:19     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? #9
Цитата Сообщение от alsav22 Посмотреть сообщение
min_element(a, a + 10, cmp) ищет минимальный элемент в последовательность от а до а + 10. cmp() определяет для min_element(), как сравнивать елементы в этой последовательности. min_element() берёт два элемент последовательности и передаёт их в cmp() в виде параметров x и y : сmp(x, y). Если cmp(x, y) возвращает true, то значит x по абсолютной величине меньше y, в противном случае x не меньше y. Таким образом min_element() находит наименьший элемент последовательности.

Не по теме:

а не навредит ли такое оочень подробное описание процессу обучения?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2012, 15:29     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ?
Еще ссылки по теме:

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере C++
Что такое "нейронная сеть" и как она работает? C++

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

Или воспользуйтесь поиском по форуму:
alsav22
23.09.2012, 15:29     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ?
  #10

Не по теме:

Цитата Сообщение от Nixy Посмотреть сообщение
а не навредит ли такое оочень подробное описание процессу обучения
Тем более с ошибками. Уже исправил.

Yandex
Объявления
23.09.2012, 15:29     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ?
Ответ Создать тему
Опции темы

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