Как построить таблицу в си шарп? - C#
Формулировка задачи:
помогите решить
Известна зарплата каждого из 12 работников фирмы за каждый месяц первого
квартала
Месяц
Работник 1 2 3
1
2
...
12
Организовать ввод информации по этой таблице и определить:
а) максимальную зарплату из указанных в таблице;
б) порядковый номер работника, получившего за квартал наибольшую сумму;
в) в каком месяце общая зарплата всех работников была максимальной.
Решение задачи: «Как построить таблицу в си шарп?»
textual
Листинг программы
int count = 12;
int m_count = 3;
Employee[] employers = new Employee[count];
Random rand = new Random();
for (int i = 0; i < count; i++)
employers[i] = new Employee
{
Salary = Enumerable.Range(0, m_count).Select(x => rand.Next(100)).ToList()
};
Console.Write("\t");
Console.WriteLine(string.Join("\t", Enumerable.Range(1, m_count)));
int n = 0;
foreach (var emp in employers)
{
Console.Write("{0}\t", ++n);
Console.WriteLine(string.Join("\t", emp.Salary));
}
//а) максимальную зарплату из указанных в таблице;
Console.WriteLine("Максимальная зарплата = {0}",
employers.Max(x => x.Salary.Max()));
//б) порядковый номер работника, получившего за квартал наибольшую сумму;
var emp_n =
employers.Select(x => x.Salary.Sum())
.Select((max, i) => new { i, max })
.OrderByDescending(x => x.max)
.First().i + 1;
Console.WriteLine("Порядковый номер работника = {0}", emp_n);
//в) в каком месяце общая зарплата всех работников была максимальной.
var mon_n =
Enumerable.Range(0, m_count)
.Select(i => employers.Sum(x => x.Salary[i]))
.Select((max, i) => new { i, max })
.OrderByDescending(x => x.max)
.First().i + 1;
Console.WriteLine("Месяц = {0}", mon_n);