Compare commits

...

2 Commits

Author SHA1 Message Date
sqdselo
4de1bca002 Лабораторная 3 финал 2024-04-22 19:48:41 +04:00
5f5f61f51b лабораторная 3 2024-04-15 12:30:38 +04:00
3 changed files with 34 additions and 36 deletions

View File

@ -30,7 +30,7 @@ namespace HoistingCrane.CollectionGenericObjects
{ {
get get
{ {
return (pictureWidth * pictureHeight) / (_placeSizeHeight * _placeSizeWidth); return (pictureWidth * pictureHeight) / (_placeSizeHeight * _placeSizeWidth)-3;
} }
} }
public AbstractCompany(int picWidth, int picHeight, ICollectionGenericObjects<DrawningTrackedVehicle> array) public AbstractCompany(int picWidth, int picHeight, ICollectionGenericObjects<DrawningTrackedVehicle> array)

View File

@ -51,5 +51,6 @@ namespace HoistingCrane.CollectionGenericObjects
} }
} }
} }
} }

View File

@ -29,55 +29,52 @@
} }
return null; return null;
} }
public int Insert(T obj) public int Insert(T obj)
{
for (int i = 0; i < Count; i++)
{
if (arr[i] == null)
{ {
return Insert(obj, 0); return Insert(obj, 0);
} }
}
return -1;
}
public int Insert(T obj, int position) public int Insert(T obj, int position)
{ {
//todo Проверка позиции
if (position < 0 || position > Count) if (position < 0 || position > Count)
{ {
return -1; return -1;
} }
int pos = position - 1;
while (position < Count)
{
if (arr[position] == null) if (arr[position] == null)
{ {
arr[position] = obj; arr[position] = obj;
return position; return position;
} }
else position++;
}
while (pos > 0)
{ {
if (Insert(obj, position + 1) != null) if (arr[position] == null)
{ {
arr[position] = obj;
return position; return position;
} }
if (Insert(obj, position - 1) != null) position--;
{
return position;
}
}
return -1;
} }
return -1;
}
public T? Remove(int position) 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;
}
} }
} }