diff --git a/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs b/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs index 5d05d6f..7b4bc7a 100644 --- a/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs +++ b/HoistingCrane/HoistingCrane/CollectionGenericObjects/AbstractCompany.cs @@ -30,7 +30,7 @@ namespace HoistingCrane.CollectionGenericObjects { get { - return (pictureWidth * pictureHeight) / (_placeSizeHeight * _placeSizeWidth); + return (pictureWidth * pictureHeight) / (_placeSizeHeight * _placeSizeWidth)-3; } } public AbstractCompany(int picWidth, int picHeight, ICollectionGenericObjects array) diff --git a/HoistingCrane/HoistingCrane/CollectionGenericObjects/Garage.cs b/HoistingCrane/HoistingCrane/CollectionGenericObjects/Garage.cs index 3aedcb2..0839cb8 100644 --- a/HoistingCrane/HoistingCrane/CollectionGenericObjects/Garage.cs +++ b/HoistingCrane/HoistingCrane/CollectionGenericObjects/Garage.cs @@ -36,7 +36,7 @@ namespace HoistingCrane.CollectionGenericObjects arr?.Get(i)?.SetPictureSize(pictureWidth, pictureHeight); arr?.Get(i)?.SetPosition(_placeSizeWidth * currentPosWidth + 25, _placeSizeHeight * currentPosHeight + 15); } - + if (currentPosWidth > 0) currentPosWidth--; else @@ -51,5 +51,6 @@ namespace HoistingCrane.CollectionGenericObjects } } + } } diff --git a/HoistingCrane/HoistingCrane/CollectionGenericObjects/MassivGenericObjects.cs b/HoistingCrane/HoistingCrane/CollectionGenericObjects/MassivGenericObjects.cs index 2573492..3e2d561 100644 --- a/HoistingCrane/HoistingCrane/CollectionGenericObjects/MassivGenericObjects.cs +++ b/HoistingCrane/HoistingCrane/CollectionGenericObjects/MassivGenericObjects.cs @@ -31,50 +31,50 @@ } public int Insert(T obj) { - for (int i = 0; i < Count; i++) - { - if (arr[i] == null) - { - return Insert(obj, 0); - } - } - return -1; + return Insert(obj, 0); } public int Insert(T obj, int position) { - //todo Проверка позиции + if (position < 0 || position > Count) { return -1; } - if (arr[position] == null) + int pos = position - 1; + + while (position < Count) { - arr[position] = obj; - return position; - } - else - { - if (Insert(obj, position + 1) != null) + if (arr[position] == null) { + arr[position] = obj; return position; } - if (Insert(obj, position - 1) != null) + position++; + } + while (pos > 0) + { + if (arr[position] == null) { + arr[position] = obj; return position; } + position--; } + return -1; - } + + } public T? Remove(int position) { - if(position >= 0 && position < Count) + if (position < 0 || position > Count) { - T? temp = arr[position]; - arr[position] = null; - return temp; + return null; } - return null; + + T? removed_object = arr[position]; + arr[position] = null; + return removed_object; } } }