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

STL, множества - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами http://www.cyberforum.ru/cpp-beginners/thread978514.html
Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами. Обязательно использовать функцию и указатели.
C++ Обращение к элементам линейного списка через элементы массива указателей Вот полная версия программы. Компилятор не выдаёт ошибок, но при выполнении, судя по всему, на строчке 278, при попытке обратится к элементу списка, выкидывает окно с "Необработанное исключение в "0x01035d16" в "lab_9.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcde1". Местом ошибки указывает строчку c "return" в xstring: size_type size() const { // return length of... http://www.cyberforum.ru/cpp-beginners/thread978509.html
Размер массива по указателю C++
Не уверен, что всё правильно понимаю... Про "new" пишут, что оно выделяет необходимое количество памяти и возвращает указатель на начало блока. А "delete" освобождает память и возвращает операционной системе. char *p = new char; delete p; Почему тогда пишут, что нельзя определить размер массива по указателю на него? Как тогда программа знает, сколько памяти должна вернуть команда...
C++ Почему не работает erase() с мультимножеством?
программа в целом работает, но мне нужно исключить все гласные буквы из текста, в этом куске не удаляются элементы множества с кодом значения гласной буквы. подскажите как удалить все гласные... for(im=sm.begin(); im!=sm.end(); ++im) //удаление из множества всех гласных { for(i = 0; i < 5; i++) {
C++ Программа компилируется, но не запускается http://www.cyberforum.ru/cpp-beginners/thread978496.html
Есть матрица 10 на 10, из нее извлекается часть 3 на 3. Первый элемент - 6 строка, 5 столбец. Компилируется без ошибок, но после запуска выдает "Прекращена работа программы ..... Windows может провести поиск способа устранения этой ошибки в Интернете". !Убедительная просьба писать не только способ устранения ошибки, но и причину ее возникновения. Если возможно. Спасибо. Код: #include...
C++ Для введенного с клавиатуры n вычислить значение выражения Требуется написать код с использованием функций для нахождения значение выражения Р=1/1*2+1/2*3+...+1/n*(n+1), n вводится с клавиатуры. Вроде простая задача, а все равно выдаёт ошибку при компиляции: #include <iostream> #include <math.h> using namespace std; float summ (float P, float k, int n); int main () { подробнее

Показать сообщение отдельно
ChuckNorris
2 / 2 / 0
Регистрация: 25.10.2012
Сообщений: 42
15.10.2013, 22:02     STL, множества
Есть задача:

В три газетных киоска поступают газеты из имеющегося списка. Определить, какие газеты не заказали в один из киосков, какие газеты бывают в каждом киоске, какие можно купить хотя бы в одном киоске.

Мой код:

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
#include <iostream>
#include <set>
#include <string>
#include <locale>
#include <string>
#include <string.h>
#include <algorithm>
#include <conio.h>
using namespace std;
 
int main()
{
    string all_gz[]=                           
    {
        "New Your Times", "The Denver Post","Chicago Tribune", 
        "New York Post", "Newsday",  
        "Rutland Herald","The Star-Ledger","Houston Chronicle",            /*имеющийся список газет*/
        "Boston", "The Recorder", "Pittsburgh Post-Gazette"
    };
 
    set<string, less<string> > allset(all_gz, all_gz + 11);
    set<string, less<string> >::iterator iter;
    
cout<<"All gazets:\n\n";
 
iter = allset.begin(); 
while(iter != allset.end())
cout << *iter++ << '\n';
 
 
//////////////////////////////////////////
 
string gz1[]=
    {
        "New Your Times", "Chicago Tribune", 
        "New York Post", "Newsday", "Boston"   /* газеты которые заказали в 1 киоск
                                               ни в одном киоске нет  "The Star-Ledger" "The Recorder", "Rutland Herald"*/
    };
 
set<string, less<string> > set1(gz1,gz1+5);
set<string, less<string> >::iterator iter1;
    
    
iter1 = set1.begin(); 
while(iter1 != set1.end())
cout << *iter1++ << '\n';
 
 
/////////////////////////////////////////////////////////////
 
 
string gz2[]=
    {
        "New Your Times", "The Denver Post","Chicago Tribune", 
        "New York Post", "Newsday", "Houston Chronicle","Boston"     
                       /*газеты которые заказали во 2 киоск, во втором есть "Houston Chronicle" 
                       "The Denver Post" но и их нет в 1 и 3 киосках*/
          };
 
set<string, less<string> > set2(gz2, gz2 + 7);
set<string, less<string> >::iterator iter2;
    
    cout<<"<<<<<2nd kiosk: >>>>"<<endl;
iter2 = set2.begin(); 
while(iter2 != set2.end())
cout << *iter2++ << '\n';
 
 
//////////////////////////////////////////////////
 
string gz3[]=
    {
        "New Your Times","Chicago Tribune", 
        "New York Post", "Newsday", 
        "Boston", "Pittsburgh Post-Gazette"
        /*газеты которые заказали в 3 киоск, в третьем есть  
       "Pittsburgh Post-Gazette" но их нет в 1 и 2 киосках */
    };
 
set<string, less<string> > set3(gz3, gz3 + 6);
set<string, less<string> >::iterator iter3;
    
cout<<"<<<<<3d kiosk: >>>>"<<endl;
iter3 = set3.begin(); 
while(iter3 != set3.end())
cout << *iter3++ << '\n';
    getch();
    return 0;
}
Помогите пожалуйста дописать как оно будет определять где какую газету заказали и виводить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru