private void _view_SolveDifference(object sender, EventArgs e) { if (!_view.CheckFirstMultitude || !_view.CheckSecondMultitude) { _messageService.ShowExclamation("Одно из множеств не заполнено"); return; } else { Multitude FirstMultitude = new Multitude(); Multitude SecondMultitude = new Multitude(); for (int i = 0; i < _view.Content.Length; i++) { FirstMultitude.Elements.Add(_view.Content[i]); } for (int i = 0; i < _view.Content_2.Length; i++) { SecondMultitude.Elements.Add(_view.Content_2[i]); } FirstMultitude.Elements.RemoveAll(x => SecondMultitude.Elements.Contains(x)); for (int i = 0; i < FirstMultitude.Elements.Count; i++) { _view.ResultContent += FirstMultitude.Elements[i] + ','; } _view.ResultContent = '(' + _view.ResultContent.Substring(0, _view.ResultContent.Length - 1) + ')'; } }
private void _view_SolveAssociation(object sender, EventArgs e) { if (!_view.CheckFirstMultitude || !_view.CheckSecondMultitude) { _messageService.ShowExclamation("Одно из множеств не заполнено"); return; } else { Multitude FirstMultitude = new Multitude(); Multitude SecondMultitude = new Multitude(); for (int i = 0; i < _view.Content.Length; i++) { FirstMultitude.Elements.Add(_view.Content[i]); } for (int i = 0; i < _view.Content_2.Length; i++) { SecondMultitude.Elements.Add(_view.Content_2[i]); } List <string> contentChanged = new List <string>(); for (int i = 0; i < _view.Content.Length; i++) { contentChanged.Add(FirstMultitude.Elements[i]); } for (int i = 0; i < _view.Content_2.Length; i++) { contentChanged.Add(SecondMultitude.Elements[i]); } int u = 1; while (u < contentChanged.Count) { int j = 0; bool remove = false; while (j < u && !remove) { if (contentChanged[u].Equals(contentChanged[j])) { remove = true; } j++; } if (remove) { contentChanged.RemoveAt(u); } else { u++; } } for (int i = 0; i < contentChanged.Count; i++) { _view.ResultContent += contentChanged[i] + ','; } _view.ResultContent = '(' + _view.ResultContent.Substring(0, _view.ResultContent.Length - 1) + ')'; } }
private void _view_SolveAddition(object sender, EventArgs e) { if (_view.CheckUniversal) { Multitude FirstMultitude = new Multitude(); Multitude Universal = new Multitude(); for (int i = 0; i < _view.Content.Length; i++) { FirstMultitude.Elements.Add(_view.Content[i]); } for (int i = 0; i < _view.Content_3.Length; i++) { Universal.Elements.Add(_view.Content_3[i]); } int count = 0; if (Universal.Elements.Count > FirstMultitude.Elements.Count) { for (int i = 0; i < FirstMultitude.Elements.Count; i++) { if (Universal.Elements[i] != FirstMultitude.Elements[i]) { count++; break; } } } else { _messageService.ShowExclamation("Universal не является U для данного множества"); return; } if (count > 0) { _messageService.ShowExclamation("U не содержит некоторые элементы принадлежашие множеству"); return; } List <string> contentCHanged = new List <string>(); Universal.Elements.RemoveAll(x => FirstMultitude.Elements.Contains(x)); for (int i = 0; i < Universal.Elements.Count; i++) { _view.ResultContent += Universal.Elements[i] + ','; } _view.ResultContent = '(' + _view.ResultContent.Substring(0, _view.ResultContent.Length - 1) + ')'; } else { _messageService.ShowExclamation("Укажите Universal"); return; } }
void _view_SolveCrossing(object sender, EventArgs e) { if (!_view.CheckFirstMultitude || !_view.CheckSecondMultitude) { _messageService.ShowExclamation("Одно из множеств не заполнено"); return; } else { Multitude FirtstMultitude = new Multitude(); Multitude SecondMultitude = new Multitude(); string contentChanged = _view.ResultContent; string[] content = _view.Content; for (int i = 0; i < content.Length; i++) { FirtstMultitude.Elements.Add(content[i]); } for (int i = 0; i < _view.Content_2.Length; i++) { SecondMultitude.Elements.Add(_view.Content_2[i]); } for (int i = 0; i < FirtstMultitude.Elements.Count; i++) { for (int j = 0; j < SecondMultitude.Elements.Count; j++) { if (FirtstMultitude.Elements[i] == SecondMultitude.Elements[j]) { contentChanged += FirtstMultitude.Elements[i] + ','; } } } _view.ResultContent = contentChanged; _view.ResultContent = '(' + _view.ResultContent.Substring(0, _view.ResultContent.Length - 1) + ')'; } }
private void _view_SolveCartesianWork(object sender, EventArgs e) { if (!_view.CheckFirstMultitude || !_view.CheckSecondMultitude) { _messageService.ShowExclamation("Одно из множеств не заполнено"); return; } else { Multitude FirstMultitude = new Multitude(); Multitude SecondMultitude = new Multitude(); for (int i = 0; i < _view.Content.Length; i++) { FirstMultitude.Elements.Add(_view.Content[i]); } for (int i = 0; i < _view.Content_2.Length; i++) { SecondMultitude.Elements.Add(_view.Content_2[i]); } List <string> contentChanged = new List <string>(); for (int i = 0; i < FirstMultitude.Elements.Count; i++) { for (int j = 0; j < FirstMultitude.Elements.Count; j++) { contentChanged.Add('(' + FirstMultitude.Elements[i] + ',' + SecondMultitude.Elements[j] + ')'); } } for (int i = 0; i < contentChanged.Count; i++) { _view.ResultContent += contentChanged[i] + ','; } _view.ResultContent = '{' + _view.ResultContent.Substring(0, _view.ResultContent.Length - 1) + '}'; } }