Переделаны методы, готовая лаба

This commit is contained in:
ArtemEmelyanov 2022-10-18 16:51:12 +04:00
parent 9a7af194fe
commit 2d38dcf373
3 changed files with 20 additions and 15 deletions

View File

@ -67,7 +67,7 @@ namespace Airbus
if (form.ShowDialog() == DialogResult.OK)
{
DrawningObjectPlane plane = new(form.SelectedPlane);
if (_mapPlanesCollectionGeneric + plane != -1)
if (_mapPlanesCollectionGeneric + plane)
{
MessageBox.Show("Объект добавлен");
pictureBox.Image = _mapPlanesCollectionGeneric.ShowSet();
@ -94,7 +94,7 @@ namespace Airbus
return;
}
int pos = Convert.ToInt32(maskedTextBoxPosition.Text);
if (_mapPlanesCollectionGeneric - pos != -1)
if (_mapPlanesCollectionGeneric - pos)
{
MessageBox.Show("Объект удален");
pictureBox.Image = _mapPlanesCollectionGeneric.ShowSet();

View File

@ -55,7 +55,7 @@ namespace Airbus
/// <param name="map"></param>
/// <param name="planes"></param>
/// <returns></returns>
public static int operator +(MapWithSetPlanesGeneric<T, U> map, T planes)
public static bool operator +(MapWithSetPlanesGeneric<T, U> map, T planes)
{
return map._setPlanes.Insert(planes);
}
@ -65,7 +65,7 @@ namespace Airbus
/// <param name="map"></param>
/// <param name="position"></param>
/// <returns></returns>
public static int operator -(MapWithSetPlanesGeneric<T, U> map, int position)
public static bool operator -(MapWithSetPlanesGeneric<T, U> map, int position)
{
return map._setPlanes.Remove(position);
}

View File

@ -30,7 +30,7 @@ namespace Airbus
/// </summary>
/// <param name="car">Добавляемый самолёт</param>
/// <returns></returns>
public int Insert(T plane)
public bool Insert(T plane)
{
// TODO вставка в начало набора
return Insert(plane, 0);
@ -42,7 +42,7 @@ namespace Airbus
/// <param name="plane">Добавляемый самолёт</param>
/// <param name="position">Позиция</param>
/// <returns></returns>
public int Insert(T plane, int position)
public bool Insert(T plane, int position)
{
// TODO проверка позиции
// TODO проверка, что элемент массива по этой позиции пустой, если нет, то
@ -53,45 +53,50 @@ namespace Airbus
if(_places[position] == null)
{
_places[position] = plane;
return position;
}
else
{
int pos = -1;
bool isFree = false;
for (int i = 0; i < Count; i++)
{
if (_places[i] == null)
{
isFree = true;
pos = i;
break;
}
}
if (isFree)
{
for (var i = _places.Length - 1; i != 0; --i) _places[i] = _places[i - 1];
for (var i = pos; i > position; --i) _places[i] = _places[i - 1];
_places[position] = plane;
}
else
{
return -1;
return false;
}
}
return 0;
return true;
}
/// <summary>
/// Удаление объекта из набора с конкретной позиции
/// </summary>
/// <param name="position"></param>
/// <returns></returns>
public int Remove(int position)
public bool Remove(int position)
{
// TODO проверка позиции
// TODO удаление объекта из массива, присовив элементу массива значение null
if(position < 0 || position >= Count || _places[position] == null)
if (position < 0 || position >= Count || _places[position] == null)
{
return -1;
return false;
}
else
{
_places[position] = null;
return true;
}
_places[position] = null;
return 0;
}
/// <summary>
/// Получение объекта из набора по позиции