Определить, сколько элементов стека имеют значения меньше среднего значения от всех элементов - C# (196299)
Формулировка задачи:
Ребят если не сложно,помогите
Создать стек из целых случайных чисел и определить сколько элементов стека имеют значения меньше среднего значения от всех элементов и удалить эти элементы
Решение задачи: «Определить, сколько элементов стека имеют значения меньше среднего значения от всех элементов»
textual
Листинг программы
public class EGStack : Stack<int>
{
private int _avarage;
private bool _counted;
public new void Push(int item)
{
_avarage = _avarage + item;
base.Push(item);
}
public int GetAvarage()
{
int temp = _avarage;
if (!_counted)
{
temp = _avarage / this.Count;
}
return temp;
}
public new int Pop()
{
try
{
if (!_counted)
{
_avarage /= this.Count;
_counted = true;
}
int item;
do
{
item = base.Pop();
} while (item > _avarage);
return item;
}
catch (InvalidOperationException)
{
return 0;
}
}
}
class Program
{
static void Main(string[] args)
{
EGStack st = new EGStack();
Random r = new Random();
for (int i = 0; i < 10; i++)
{
st.Push(r.Next(1,1000));
}
foreach(int item in st)
{
Console.Write("{0} ", item);
}
Console.WriteLine();
Console.WriteLine(st.GetAvarage());
for (int i = st.Pop(); i != 0;i=st.Pop())
{
Console.Write("{0} ", i);
}
Console.WriteLine();
}
}