Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/24: Рейтинг темы: голосов - 24, средняя оценка - 4.96
Anastasia777
1 / 1 / 2
Регистрация: 23.09.2012
Сообщений: 59
1

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

23.09.2012, 10:28. Просмотров 4489. Ответов 9
Метки нет (Все метки)

Вот код:
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>
Буду очень благодарна!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 10:28
Ответы с готовыми решениями:

Постигаю c++ и не могу в здешние циклы, а ещё в тип char кто знает как они работают подскажите
Есть сия код. Массив 7 столбцов на 5 строк (5 доярок(строки), 6...

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере
Есть класс, содержащий объекты и конструктор. Конструктор объявляется в одном...

Зачем перегружать операторы "++", "<<", ">>" и что они дают?
Здравствуйте. Я хотел спросить зачем перегружать оператор &quot;++&quot;, &quot;&lt;&lt;&quot;, &quot;&gt;&gt;&quot; и...

кто знает что такое kernel time
и как использовать это знание при написании программ?

Кто знает гайд по заголовочному файлу "string"
Пишу код шифра Цезаря. С массивами работа очень геморная. Код почти готов, но...

9
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 10:37 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
про алгоритм
Кликните здесь для просмотра всего текста
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 10:37 3
Цитата Сообщение от Anastasia777 Посмотреть сообщение
и #include <algorithm>
Подключение библиотеки алгоритмов. Нужно для использования алгоритма min_element().
1
Anastasia777
1 / 1 / 2
Регистрация: 23.09.2012
Сообщений: 59
23.09.2012, 10:43  [ТС] 4
а что такое " принцип сmp"?
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 10:49 5
Цитата Сообщение от Anastasia777 Посмотреть сообщение
а что такое " принцип сmp"?
это значит что сравниватся будет как описано тут
C++
1
bool cmp(int x, int y) { return abs(x) < abs(y); }
тоесть правое с левым, и левое должно быть меньше
принцип работы
0
Anastasia777
1 / 1 / 2
Регистрация: 23.09.2012
Сообщений: 59
23.09.2012, 13:36  [ТС] 6
можете обьяснить , зачем здесь нужна строка bool cmp(int x, int y) { return abs(x) < abs(y); }
зачем эти х у? мы же их потом никуда не вводим..
0
DiffEreD
1442 / 779 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.09.2012, 13:39 7
Anastasia777, откройте книгу и перейдите к параграфу про функторы и предикаты. Внимательно изучите и все вопросы отпадут.
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
23.09.2012, 15:17 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() выстраивает последовательность по возрастанию.
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 15:19 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() находит наименьший элемент последовательности.

Не по теме:

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

0
alsav22
23.09.2012, 15:29     Что такое "bool " и #include <algorithm>? Кто знает , как они работают ?
  #10

Не по теме:

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

0
23.09.2012, 15:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2012, 15:29
Привет! Вот еще темы с ответами:

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

В чём ошибка? Почему пишет,что #include "stdafx.h" не работает и тд нету библиотеки,как можно код поменять?
В чём ошибка? Почему пишет,что #include &quot;stdafx.h&quot; не работает и тд нету...

Что такое "широкие" и "узкие" С-строки
Гуглила, и не нашла более-менее нормального ответа на вопрос: &quot;Что же такое...


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

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

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