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

Операции объединения, пересечения, включения множеств

19.02.2017, 09:16. Показов 3689. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, написать программу на с++, реализующую операции объединения, пересечения, включения множеств
Дошел только до создания двух динамических массивов ( множеств а и в) и их сортировки по возрастанию. Что делать дальше- не представляю
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2017, 09:16
Ответы с готовыми решениями:

Операции сравнения, объединения, пересечения множеств
Есть лаба про операции над множествами с помощью перегрузки операторов. Надо реализовать операции сравнения, обьединения, пересичения...

Проблемы с формированием объединения, пересечения множеств
Код программы: //На 3ех фермах разводят животных из списка. Определить, //какие животные есть хоть на одной ферме, на всех фермах, ...

Реализовать функции пересечения и объединения массивов
Само задание: необходимо создать класс, в котором реализовать функции пересечения и объединения массивов. У меня возникло два варианта...

8
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
19.02.2017, 11:33
Цитата Сообщение от Larionov98 Посмотреть сообщение
Дошел только до
Вот это и покажи. Чтобы работать на твоем материале, в твоих обозначениях, твоими инструментами
0
 Аватар для 3HATOK
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 21
19.02.2017, 11:49
Larionov98, Ты пришли код своей проги
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
19.02.2017, 11:50
а вот и знаток прорезался, который ни как не мог создать тему самостоятельно.
0
 Аватар для 3HATOK
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 21
19.02.2017, 11:53
magirus, разобрался прост
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 3
19.02.2017, 12:04  [ТС]
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
#include <iostream>
using namespace std;
int main()
{
    int *arr; 
    int size; 
      cout << " A= ";
    cin >> size;
    arr = new int[size]; 
    for (int i = 0; i < size; i++) {
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
    }
    int temp; 
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
               
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
    delete [] arr; // 
     int *p; // 
    int r; // 
    cout << " B= ";
    cin >> r;
    p = new int[r]; 
   for (int k = 0; k < r; k++) {
        cout << "p[" << k << "] = ";
        cin >> p[k];
    }
    int mp; 
    for (int k = 0; k < r - 1; k++) {
        for (int m = 0; m < r - k - 1; m++) {
            if (p[m] > p[m + 1]) {
               
                mp = p[m];
                p[m] = p[m + 1];
                p[m + 1] = mp;
            }
        }
    }
    for (int k = 0; k < r; k++) {
        cout << p[k] << " ";
    }
    cout << endl;
    delete [] arr; 
    return 0;
}
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
19.02.2017, 12:19
Larionov98, Код хорошо бы немного отформатировать. (Отступы блоков, расположение блочных скобок). Его же люди читать будут. Надо им помочь.
Лишние пустые строки код совершенно не украшают и не способствуют более комфортному его чтению и анализу.
Код надо заключать в теги. Знаете как?
1
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
19.02.2017, 12:24
Цитата Сообщение от Байт Посмотреть сообщение
Знаете как?
не знает пока, но думаю научится, пока я поправил.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
19.02.2017, 13:05
Larionov98, Строчка 28 - грубая ошибка. Зачем удаляешь arr? он тебе еще пригодится
Однотипные действия (ввод массива, вывод) следует оформлять в виде функции

Добавлено через 22 минуты
Объединение
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
#include <iostream>
using namespace std;
 
void InMass(char *name, int *a, int n)
{
    for (int i = 0; i < n; i++) {
        cout << name << "[" << i << "] = ";
        cin >> a[i];
    }
}
void OutMass(int *a, int n)
{
    for (int i = 0; i < ; i++) {
        cout << a[i] << " ";
    }
    cout << endl;
}
void SortMass(int *a, int n)
{
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (a[j] > a[j + 1]) {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
}
int Union(int *res, int *a, int na, int *b, int nb)  // Объединение
{
  int nres =0, ja=0, jb = 0;
  while (1) {
    if (ja==na && jb==nb) break;
    if (ja==na) {
      res[nres++] = b[jb++];
      continue;
    }
    if (jb==nb) {
      res[nres++] = a[ja++];
      continue;
    }
    if (a[ja] == b[jb]) {
      res[nres++] = a[ja++];
      jb++;
    }
    else if (a[ja] < b[jb])
      res[nres++] = a[ja++];
    else
      res[nres++] = b[jb++];
  }
  return nres;
}
 
int main()
{
    int *arr;
    int size;
      cout << " A= ";
    cin >> size;
    arr = new int[size];
    InMass("arr", arr, size);
    SortMass(arr, size);
    OutMass(arr, size);
    int *p;
    int r;
    cout << " B= ";
    cin >> r;
    p = new int[r];
    InMass("p", p, r);
    SortMass(p, r);
    OutMass(p, r);
    int *res, Nres;
    Nres = size + r;
    res = new int[Nres];
    nres2 = Union(res, arr, size, p, r);
    OutMass(res, nres2);
    delete [] res;
    delete [] arr;
    delete [] p;
    return 0;
}
Как-то так. Не проверял.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2017, 13:05
Помогаю со студенческими работами здесь

Найти пересечение и объединения заданных множеств
Здравствуйте. У меня следующая задача: Даны множества U={1,2,3,4,…,25} та три ее подмножества A={1,9,10,11,15,16,17,22},...

Операции объединения, пересечения и разности множеств
Здравствуйте,помогите записать этот код в Delphi и скиньте архивом эту программу,пожалуйста. Вот условие задачи этой:Даны три поля TEdit...

Написать определение операций равенства, объединения, пересечения, разности множеств
Написать определение операций равенства, объединения, пересечения, разности множеств. Помогите, пожалуйста.

Составить программу для нахождения пересечения, объединения, дополнения множеств А и В
Составить программу для нахождения пересечения, объединения, дополнения множеств А и В.

Создать предикат нахождения объединения пересечения первых двух множеств с третьим
Создать предикат нахождения множества, которое получается в результате выполнения следующих действий с тремя множествами А∩В∪С


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru