Форум программистов, компьютерный форум, киберфорум С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
184 / 72 / 35
Регистрация: 09.05.2022
Сообщений: 384

Объяснить, что делает программа

14.05.2022, 14:25. Показов 720. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
По условию задания, надо было вывести количество элементов, равных заданному числу M. Не совсем понял, что такое upper_bound и lower_bound, но если от верхней отнять нижнюю границу, то должно вернуть количество элементов, так как это будет разница от индекса первого числа, большего, чем заданное число М и самого числа (так как lower_bound возвращает первое число не меньшее заданного числа, а значит само число в массиве вектора). По условию задания еще надо было использовать методы бинарного поиска, но я просто сделал upper-lower, это вообще правильно? И правильно ли я понял собственный код? Ибо ответ выводит правильно, а почему это работает, до конца не понимаю.

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
27
28
29
30
31
32
33
    srand(time(0));
   setlocale(0,"");
   int size=200;
vector <int> v(size);
vector<int>::iterator lower, upper;
int M;
cin>>M;
 
 
for(int i=0;i<size;i++)
{
    v[i]=rand()%100;
    cout<<v[i]<<" ";
}
 
cout<<"\n\n";
sort(v.begin(), v.end());int count=0;
 
 
    lower = lower_bound(v.begin(), v.end(), M);
    upper = upper_bound(v.begin(), v.end(), M);
    
    
for(int i=0;i<size;i++)
{
    cout<<v[i]<<" ";
}
 
 
cout<<"\n\n";
cout<<endl<<endl;
 
cout<<upper-lower;
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.05.2022, 14:25
Ответы с готовыми решениями:

объяснить что делает код
Код выполняет следующее 1. пользователь должен указать какой файл открыть для разбиения 2. пользователь указывает на какое количесвто...

Объяснить что делает строка
//s1 -строка //x -целое число //Объяснить посимвольно вот это %-15s%03d%n System.out.printf(&quot;%-15s%03d%n&quot;, s1, x);

Объяснить, что делает функция, подробно
cin.rdbuf()-&gt;in_avail() Добавлено через 19 секунд И что такое rdbuf

3
 Аватар для PencilTorch
90 / 60 / 32
Регистрация: 06.08.2020
Сообщений: 220
14.05.2022, 15:37
Лучший ответ Сообщение было отмечено karlhildekruger как решение

Решение

upper_bound возвращает итератор на первое большее число от указанного, lower_bound - первое меньшее.
1
 Аватар для Folian
1710 / 1110 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
14.05.2022, 18:27
Цитата Сообщение от PencilTorch Посмотреть сообщение
lower_bound - первое меньшее.
*первое НЕ меньшее, i.e. равное, либо первое большее

Цитата Сообщение от karlhildekruger Посмотреть сообщение
По условию задания еще надо было использовать методы бинарного поиска, но я просто сделал upper-lower, это вообще правильно?
Эти штуки и работают бинарным поиском; можешь проверить: они не работают на неупорядоченном диапазоне.
0
 Аватар для PencilTorch
90 / 60 / 32
Регистрация: 06.08.2020
Сообщений: 220
14.05.2022, 20:45
Folian, точно поправил, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2022, 20:45
Помогаю со студенческими работами здесь

Объяснить, что делает std::lock_guard ?
привет. Я правильно понял, что объект std::lock_guard, примененный к мьютексу в блоке кода, при выходе из этого блока разблокирует этот...

Исправить код, объяснить, что он делает
#include &lt;iostream&gt; /* run this program using the console pauser or add your own getch, system(&quot;pause&quot;) or input loop */ using...

Нужно объяснить что делает элемент кода
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cmath&gt; using namespace std; int main() { float r, x, y; int point = {}; ...

Объяснить, что делает каждый цикл в программе
Объясните пожалуйста что делает каждый цикл for (i = 0; i &lt; n; i++) cout &lt;&lt; a &lt;&lt; &quot; &quot;;//выводим последовательность cout &lt;&lt;...

Нужно объяснить что делает элемент кода
Помогите пожалуйста понять, что делают cin.peek() != '\n' , cin.clear(); , while (cin.get() != '\n'); , а также, что они делают в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Сложность Колмогорова: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
C++26: Индексирование пакетов и метапрограммиро­вание
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
Состояние гонки в C#: подводные камни многопоточного программировани­я
UnmanagedCoder 20.03.2025
Что такое состояние гонки? Это ситуация, когда результат программы непредсказуемо меняется в зависимости от порядка выполнения потоков. Проще говоря, два или более потока пытаются одновременно. . .
Next.js для разработки React: преимущества серверного рендеринга
Reangularity 20.03.2025
Next. js решает классическую проблему React-приложений: медленную первоначальную загрузку и плохую индексацию поисковиками. Вместо того чтобы заставлять браузер пользователя выполнять всю работу по. . .
JUnit или TestNG: Выбираем Java-фреймворк для тестирования
Javaican 20.03.2025
История тестовых фреймворков в Java началась в конце 90-х, когда Кент Бек и Эрих Гамма разработали JUnit - инструмент, который перевернул представление разработчиков о модульном тестировании. JUnit. . .
Разбиваем монолит на два микросервиса и реализуем CI/CD
ArchitectMsa 20.03.2025
Когда команда растет, а функциональность монолита расширяется, поддерживать и развивать такую систему становится все труднее. Разработчики начинают тратить много времени на разбор сложных. . .
Python и PDF: Создание и редактирование файлов
py-thonny 20.03.2025
Работа с PDF-документами – одна из популярных задач в современной разработке. Python предлагает несколько инструментов для создания, чтения и редактирования PDF-файлов, среди которых особенно. . .
Корутины в Unity и производительно­сть WaitForSeconds
GameUnited 20.03.2025
Разработчики игр на Unity часто сталкиваются с вопросом: как выполнять действия через определённые промежутки времени, не блокируя основной поток игры? Тут как раз и приходят на помощь корутины —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер