Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 18
1

Объединение, пересечение, разность множеств

05.03.2013, 18:53. Показов 5825. Ответов 7

Я новичок и мне нужна помощь с задачей.

Даны три поля TEdit 1,2,3, в первые два вводятся множества А и В через пробел.
При нажатии на кнопки TButton1,2,3 выполняются операции объединение, пересечение и разность соответственно, а результат выводится в TEdit3.

Если не сложно , то напишите пожалуйста. Заранее благодарен !
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2013, 18:53
Ответы с готовыми решениями:

Создать программу, которая позволяет осуществить все операции над элементами множеств: пересечение, объединение, разность, проверку эквивалентности и
Создать программу, которая позволяет осуществить все операции над элементами множеств: пересечение,...

Изобразить объединение и пересечение множеств
Помогите с лабораторной господа хакеры! Изобразить объединение и пересечение множеств. ...

Изобразить объединение и пересечение следующих множеств
Изобразить объединение и пересечение следующих множеств {(x,y): xy≤4} {(x,y): x^2+y^2≥36}

Найти пересечение двух множеств, сформировать и вывести одномерный массив
Доброго времени суток. Дан двумерный массив NxN. Найти пересечение двух множеств, сформировать и...

7
20 / 8 / 3
Регистрация: 01.03.2013
Сообщений: 77
05.03.2013, 19:06 2
Есть глупое уточнение,
объединение, пересечение и разность
Тут я завис. Можешь разъяснить?
0
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 18
05.03.2013, 19:26  [ТС] 3
Операция объединения - результирующее множество содержит все те элементы, которые есть хотя бы в одном из двух исходных множеств. Объединение записывается знаком плюс "+".

Операция пересечения формирует множество только из тех элементов, которые одновременное присутствуют как в первом, так и во втором исходном множестве. Пересечение обозначается звёздочкой "*"

А результатом операции разность множеств является множество в которое входят все элементы первого множества, не входящие во второе множество. Операция "-".
0
5588 / 2191 / 459
Регистрация: 20.11.2009
Сообщений: 7,330
Записей в блоге: 1
05.03.2013, 20:18 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

вотъ....
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
 
type
  TSet = Set of Byte;
  TOperation = (opMul, opAdd, opSub);
 
var
  Form1: TForm1;
 
  A, B: TSet;
 
implementation
 
{$R *.dfm}
// вытаскиваем из строки циферки и помещаем их во множество
procedure Parse(S: String; var A: TSet);
var St: TStringList;
    i: Integer;
begin
  St := TStringList.Create;
  ExtractStrings([' '], [], PChar(S), St);
  for i := 0 to St.Count - 1 do
    Include(A, StrToInt(St.Strings[i]));
  St.Free;
end;
 
// производим операции над множествами и результат является строковым представлением
function PrintSets(A, B: TSet; Oper: TOperation): String;
var C: TSet;
    i: Integer;
    S: String;
begin
  case Oper of
    opAdd:
      begin
        S := '';
        C := A + B;
        for i in C do
          S := S + IntToStr(i) + ', ';
        S[Length(S) - 1] := #0;
      end;
    opSub:
      begin
        S := '';
        C := A - B;
        for i in C do
          S := S + IntToStr(i) + ', ';
        S[Length(S) - 1] := #0;
      end;
    opMul:
      begin
        S := '';
        C := A * B;
        for i in C do
          S := S + IntToStr(i) + ', ';
        S[Length(S) - 1] := #0;
      end;
  end;
  Result := S;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Parse(Edit1.Text, A);
  Parse(Edit2.Text, B);
  Edit3.Text := PrintSets(A, B, opAdd)
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Parse(Edit1.Text, A);
  Parse(Edit2.Text, B);
  Edit3.Text := PrintSets(A, B, opSub)
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  Parse(Edit1.Text, A);
  Parse(Edit2.Text, B);
  Edit3.Text := PrintSets(A, B, opMul)
end;
 
end.
2
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 66
08.05.2015, 00:10 5
Не могли бы вы скинуть эту программу в архиве?

Добавлено через 2 минуты
Здравствуйте,не могли бы вы скинуть эту программу в архиве,а то срочно нужна и не получается ввести самому код???
0
5588 / 2191 / 459
Регистрация: 20.11.2009
Сообщений: 7,330
Записей в блоге: 1
08.05.2015, 10:12 6
нет не могу. 2 года прошло. у меня этой проги уже 2 года как и нету.. а что там сложного код вставить? или вы тоже такой программист, как в соседней теме ?)))))
0
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 66
08.05.2015, 15:37 7
Я всё подставляю как надо,но у меня не компилируется.
0
5588 / 2191 / 459
Регистрация: 20.11.2009
Сообщений: 7,330
Записей в блоге: 1
08.05.2015, 19:44 8
видать вам нужно на форум экстрасенсов. на этом форуме не видя кода и ошибок, еще не научились исправлять ошибки для других
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2015, 19:44

разность двух множеств в Делфи
Кому не сложно помогите новичку. Такая задача: Реализовать операцию разность двух множеств в...

Вывести на экран пересечение множеств другим цветом. Выделить в каждой строке буквы этого пересечения
1)Создать 2 строки случайных заглавных букв длиной 60. Вывести на экран. 2)Под каждой строкой...

Найти пересечение, объединение, разность, симметрическую разность множеств
Задание: Написать программу, которая проделывается операции над множествами (пересечение,...

Объединение, пересечение, разность, симметрическая разность множеств
Составить множество А из букв фамилии, множество В – из букв имени, множество С – из букв отчества...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.