Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/26: Рейтинг темы: голосов - 26, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 8
1

Контейнер set

21.06.2012, 11:13. Показов 4715. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Два множества, элементами которого являются строчные буквы латинского алфавита, представлены с помощью стандартного типа SET. В программе выводится на экран их декартово произведение.
Задаю два итератора, первый работает нормально, а второй - нет. Как их правильно задавать, чтобы они не конфликтовали?
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
#include <cstdlib>
#include <iostream>
#include <set>
using namespace std;
 
const int size=26;
 
void main()
{
    setlocale(LC_ALL,"Russian");
 
    char *s1=new char[size+1];
    char *s2=new char[size+1];
 
    //ввод данных
 
    set <char> set1;
    set <char> set2;
 
    cout<<"Введите первый вектор (без пробелов)\n";
    cin>>s1;
    s1=strlwr(s1);
    for (int i=0;i<strlen(s1);i++)
        set1.insert(s1[i]);
 
    cout<<"Введите второй вектор (без пробелов):\n";
    cin>>s2;
    s2=strlwr(s2);
    for (int i=0;i<strlen(s2);i++)
        set2.insert(s2[i]);
 
    //вычисление декартового произведения
    set<char>::iterator i;  //итераторы для прохода по множествам
    set<char>::iterator j;
    for (i=set1.begin();i!=set1.end();i++)
        for (j=set2.begin();j!=set2.end();j++);
            cout<<"("<<*i<<","<<*j<<")\n";
 
    system("pause");
}
Добавлено через 17 минут
Небольшая опечатка: в выводе после объявления второго цикла не должно быть точки с запятой
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2012, 11:13
Ответы с готовыми решениями:

Позиция элемента в контейнере STL кон. SET, поиск контейнер set словарь позиция
Есть код №1. Он выводить на экран позицию нужного мне слова (только если в середине 1 слово а не 2...

контейнер set
Создать контейнер set, ввести в него 3 числа. Создать метод по вычислении наибольшего из этих чисел...

Контейнер set
Есть текст на агл. языке. Используя контейнер set нужно упорядочить слова этого текста в алфавитном...

STL, контейнер set
Помогите, пожалуйста. Задание состоит вот в чем: даны названия городов, и для них перечислены...

23
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.06.2012, 15:56 21
Author24 — интернет-сервис помощи студентам
И зачем нам нужно просто так занимать память?
А зачем 10 например выделять память под локальную переменную когда можно один раз выделить её под глобальную и в дальнейшем её использовать.
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
21.06.2012, 16:04 22
Цитата Сообщение от MrGluck Посмотреть сообщение
И изменить глобальные переменные может любая функция, поэтому уловить ошибку может быть сложно.
Константа тут. Потому я даже ошибкой это считать не могу. Просто не очень хороший стиль программирования. А в некоторых случаях - единственно приемлемый вариант.
1
Jupiter
21.06.2012, 16:04
  #23
 Комментарий модератора 
Прекращаем оффтоп!
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 8
23.06.2012, 20:43  [ТС] 24
Константа объявлена не в функции, потому что используется и других частях программы, которые здесь не присутствуют, чтобы не нагромождать лишний код.
В чем ошибка в итераторах я так и не поняла, но в цикле поставила префиксный инкремент (т.е. не i++, j++ а ++i,++j) и все заработало. Если кто-то сможет объяснить в чем причина, буду признательна.
0
23.06.2012, 20:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2012, 20:43
Помогаю со студенческими работами здесь

Ассоциативные контейнер - SET
что с помощью set реализовано в main ? #include&lt;iostream&gt; #include&lt;set&gt; using namespace std;...

Массив типа set (контейнер)
Как создать массив set'ов (контейнеров) и как с ним дальше работать? если возможно, напишите...

Ввод данных в контейнер set
Здравствуйте! В первое множество элементы вводятся нормально, но вот во второе множество кладется...

STL контейнер set, вставка элементов
Уважаемые админы.Снова прошу о помощи. Необходимо в множество bred,начиная с позиции n, вставить...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru