Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Побитовые операции. Преобразование старшего байта, чтобы его двоичное представление стало палиндромом Дано короткое целое неотрицательное число. Преобразовать старший байт числа таким образом, чтобы его двоичное представление стало палиндромом. Добавлено через 17 минут Число представлено в 16-ричной сс. (ввод и вывод) https://www.cyberforum.ru/ cpp-beginners/ thread3109170.html C++ Составить программу, выводящую на экран расписание полетов самолетов
Составить программу, выводящую на экран расписание полетов самолетов (пункт посадки, время отправления, время прибытия, время полета, стоимость билета). Определить номер рейса, который позже всех прибывает в заданный пункт. Не могу понять как вывести номер рейса который позже всех прибывает ввожу Moscow и выдает 12 часов, а должен 16. #include <iostream> #include <conio.h> #include <algorithm>...
C++ Error C2276: недопустимая операция с выражением привязанной функции-члена https://www.cyberforum.ru/ cpp-beginners/ thread3109097.html
class NestedTriangle : public Figure { private: RectangularTriangle* internaltriangle; Square* internalsquare; public: NestedTriangle(int x, int y, int a, int b) : Figure(x, y) { internaltriangle = new RectangularTriangle(x, y, a, b); internalsquare = new Square(x, y, a);
C++ бинарное дерево поиска Всем привет. прошу помощи в доработке лабы. Ввести 10-15 значений для создания бинарного дерева поиска. Обойти его прямым, симметричным и обратным способами. Реализовать процедуры поиска, вставки и удаления элементов бинарного дерева поиска. Вот что сделано: #include <iostream> using namespace std; struct node // структура для представления узлов дерева { int info;//значение ... https://www.cyberforum.ru/ cpp-beginners/ thread3109066.html
C++ Программа возведения числа a в степень b не работает. Подскажите, пожалуйста, что я делаю не так
#include <iostream> using namespace std; int degree (int a, int b); int main (){ int a, b; cin>>a>>b; cout<<degree (a,b); }
C++ Ошибка "no matching function for call to .'" Ошибка no matching function for call to 'Minerals::Minerals(float&, int&)', возникает на 12 строке. Как исправить? #include <iostream> using namespace std; class Minerals { public: float density; int hardness; }; class Metals : public Minerals { private: https://www.cyberforum.ru/ cpp-beginners/ thread3109038.html
C++ Программа циклиться, при вводе буквенных значений https://www.cyberforum.ru/ cpp-beginners/ thread3109029.html
Такая ситуация. Решил создать небольшую программу, а потом решил сломать ее всеми возможными способами. Программа должна принимать только целочисленный значения. У меня абсолютно не получилось исправить ошибку, что при вводе буквы в любую часть кода, программа циклиться и ломается. Как это пофиксить? Например в int main(), если ввести в переменную x букву, все циклиться, но компилятор просто...
Можно ли число N представить в виде квадрата какого-либо простого числа C++
Дано натуральное число N. Составить функцию для проверки можно ли число N представить в виде квадрата какого-либо простого числа.
C++ Функция с параметром по умолчанию выводящую на печать имя фамилию и возраст #include <iostream> #include <string> #include <stdio.h> #include <conio.h> #include <Windows.h> #include <string> #include <locale.h> #include <time.h> https://www.cyberforum.ru/ cpp-beginners/ thread3108988.html C++ Насколько корректен код? Подскажи насколько корректна моя функция. void edit(vector<Raketa>& vec) { if (!vec.empty()) { all_missiles(vec); int index; cout << "Введите номер ракеты для редактирования: "; https://www.cyberforum.ru/ cpp-beginners/ thread3108982.html
Получить 100000 случайных точек C++
Для метода Статистических испытаний (Монте-Карло) нужно сгенерировать 100000 случайных значений точек x и y в заданном диапазоне, например, 1.2 - 2.6 для х, 0 - 0.3 для у. Числа типа double. Как это сделать? Добавлено через 19 минут Нашелся такой пример в интернете, но не могу понять, по какой причине данные числа не выходят за пределы диапазона. Подскажите, пожалуйста, код правильный? //...
C++ Вычислить значение функции exp(ax) заданной разложением в ряд тейлора https://www.cyberforum.ru/ cpp-beginners/ thread3108969.html
Здравствуйте, помоги написать программу на с++. f(x)=1+((cos(pi/4))/1!)*x+...+((cos(pi/4)ˆn)/n!)*xˆn+... с заданной точностью eps=10ˆ(-4), и значение функции (для проверки) f=eˆ(x*cos(pi/4)), учесть, что 0,1<=x<=1
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.06.2023, 08:16 0

Задача на выборку - C++ - Ответ 16925386

02.06.2023, 08:16. Показов 887. Ответов 17
Метки (Все метки)

Ответ

Цитата Сообщение от alexu_007 Посмотреть сообщение
А книги можно покупать по одной каждой цены, или сколько хочешь?
Хороший вопрос. Если трактовать условие максимально прямо и просто, то
Цитата Сообщение от Negativexp Посмотреть сообщение
Задан список из 5 книг с указанием их цены.
означает, что книг 5. Если бы было сказано "наименований" (много) или "экземпляров" (по одной) перед словом "книг", то это снимало бы вопрос однозначности. С другой стороны цена предполагает получение стоимости путём умножения на количество. Но скорее всего, в данной задаче цена и стоимость синонимы. Цена - стоимость книги одного наименования. А стоимость - сумма цен нескольких книг.
Но вопрос хороший. Задача резко меняет смысл. Слабое место такой трактовки ещё и в том, что нужно предполагать что выданная сумма всегда меньше чем общая стоимость, имеющейся в наличии, партии книг любого наименования.
Грубая сила

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
 
using namespace std;
 
//https://www.cyberforum.ru/cpp-beginners/thread3109171.html
//Задача на выборку
//в С++ std практически нет алгоритмов для комбинаторики
//полистав интернет и приложив руки я наваял вот такую кучку)
 
size_t fact(size_t n)
{
    size_t res=1;
    for(size_t i=1; i<=n;++i)
    {
        res*=i;
    }
    return res;
}
 
size_t C_N_K(size_t n, size_t k)
{
    return fact(n)/(fact(n-k)*fact(k));
}
 
 
 vector <vector<int>> comb(int N, int K)
 {
     string bitmask(K, 1);
     bitmask.resize(N, 0);
     vector <int> v;
 
     vector <vector<int>> res;
     do {
          v.reserve(N);
          for (int i = 0; i < N; i++)
            {
               if (bitmask[i]) v.push_back(i+1);
            }
            v.shrink_to_fit();
 
             res.emplace_back(move(v));
             v.clear();
 
        } while (prev_permutation(bitmask.begin(), bitmask.end()));
 
        return res;
}
 
vector<int> comb(int N, int K, int n)
{
 string bitmask(K, 1);
 bitmask.resize(N, 0);
 
 vector <int> v;
 
 do {
        v.reserve(N);
 
            for (int i = 0; i < N; i++)
            {
 
                if (bitmask[i])
                 if(0==n) v.push_back(i+1);
            }
             v.shrink_to_fit();
              if(0==n) return v;
            --n;
            v.clear();
 
 
    } while (prev_permutation(bitmask.begin(), bitmask.end()));
 
    return v;
}
 
 
struct helper_comb_ordered
{
    //в контексте задачи для идентификации С_N_K нужен лишь K
    //поскольку N всегда постоянен (для множества из 5-ти книг это 5)
    size_t K;//размер выборки в сочетании С из N по K
    //для идентификации подмножества нужен ещё порядковый номер выборки в серии C_N_K:
    size_t n;//порядковый номер в серии сочетаний C_N_K
    size_t summa;
 
    helper_comb_ordered(size_t K_, size_t n_, size_t summa_)
    :K(K_)
    ,n(n_)
    ,summa(summa_)
    {
 
    }
 
    bool operator<(helper_comb_ordered const &other)
    {
        return summa<other.summa;
    }
    //для отладки пригодился - можно удалить
    friend
    ostream& operator<<(ostream &os, helper_comb_ordered const &other);
};
 
    //для отладки пригодился - можно удалить
    ostream& operator<<(ostream &os, helper_comb_ordered const &other)
    {
        return os<<other.K<<' '<<other.n<<' '<<other.summa<<'\n';
    }
 
int main()
{
    //тест перестановочных алгоритмов - можно удалить
    cout<<"combinatorics test\n\n";
      auto vres_all = comb( 10,  4);
      for(const auto& v:vres_all )
      {
          for(auto a:v)
          {
              cout<<a<<' ';
          }
          cout<<'\n';
      }
      cout<<'\n'<<'\n';
 
      auto v=comb(10, 4, 5);//5 вариант сочетаний из 10 по 4
          for(auto a:v)
          {
              cout<<a<<' ';
          }
          cout<<"\n\nthe end of combinatorics test\n\n";
            //алгоритм не хранит индексы всех перестановок, чтобы потом считать суммы на лету
            //а сохраняет лишь
            //реквизиты серии перестановки, номер в серии и сумму по ней - для ускорения
            //поиска lower_bound
 
                 cout<<"task of 5 books ";
                 const int set_size_ = 5;
                 using book_name_t=string;
                 using cost=size_t;
                 vector<pair<book_name_t, cost> > prise_list
                 {
                     {"Grimm Brothers", 323},
                     {"Astrid Lindgren", 246},
                     {"Andersen", 218},
                     {"Giani Rodari", 456},
                     {"Charles Pierrot", 300}
                 } ;
 
                 vector<helper_comb_ordered>seria;
 
                 for(size_t i=0; i<set_size_; ++i)
                 {
                    //C of N=set_size_ per K = 1
                    auto subsets_number= C_N_K(set_size_, i);
 
                    cout<<"subsets_number="<<subsets_number<<'\n';
 
                    for(size_t j=0; j<subsets_number; ++j )
                    {
                        auto next_comb_vec= comb(set_size_, i, j);
                        auto summa=0;
                        for(auto a:next_comb_vec)
                        {
                            summa+=prise_list[a-1].second;
                        }
                        seria.emplace_back(i,j,summa);
                        cout<<i<<' '<<j<<' '<<summa<<'\n';
                    }
                 }
 
                sort(seria.begin(), seria.end());
 
                //test value
                size_t test_sum = 856 ;
                 //size_t test_sum = 764 ;
 
                helper_comb_ordered test_hc{0,0,test_sum} ;
                auto it=lower_bound(seria.begin(), seria.end(), test_hc);
                if(it->summa>test_sum)--it;//summa не больше верхней планки
 
                 //искомая перестановка
                auto vec= comb(set_size_, it->K, it->n);
                cout<<'\n'<<'\n';
 
                cout<<"The whole amount of money (limited by: "<<test_sum<<") to buy those books is "<<(it->summa)<<"\n\n";
 
                for(auto a:vec)
                cout<<prise_list[a].first<<'\t'<< prise_list[a].second<<'\n';
 
                return 0;
}


Вернуться к обсуждению:
Задача на выборку C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2023, 08:16
Готовые ответы и решения:

С++ задача на выборку
Пожалуйста,помогите решить задачу на выборку.Срочно

Задача на Выборку с ограничениями
Помогите пожалуйста решить! Спасибо Правила, п.5.18. Запрещено выкладывать задачи в виде картинок...

Задача с запросом на выборку
В бухгалтерии предприятия хранится информация о рабочих (табельный номер, фио, адрес, количество...

Задача на Выборку с ограничениями
В 11-м классе 19 учеников. Каждый из них помимо обязательных ЕГЭ по математике и русскому сдает...

17
02.06.2023, 08:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2023, 08:16
Помогаю со студенческими работами здесь

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

Как заменить выборку по id на выборку по классам ?
Приветствую! Решаю проблему со спамом на сайте. И встал вопрос : как можно в js коде...

На выборку
Запрос. Выборка видов препаратов, какие есть на складе аптеки та их срок годности. SELECT:...

Запрос на выборку
Есть 2 таблицы Окна(nazwa, osciez1,osciez2,osciez3,osciez4) и Рами(nr_art,opis) Окно складиваються...

Запрос на выборку
Люди добрые, время 5ый час утра, я никак не могу додумать! помогите написать запрос на выборку!...

Запрос на выборку
Имеется таблица «Образование», где занесены данные: «Вид образования» - («высшее профессиональное»...

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