Hi
I dont' know how to get the position of the maximum score (line in bold). Thanks for help.
using System;
using System.Linq;
class Footbal_oop
{
public static void Main()
{
int match;
Random rand = new Random();
TeamScore[] teams = new TeamScore[] { new TeamScore("A",0), new TeamScore("B",0), new TeamScore("C",0) };
for (int i = 0; i <= teams.Length - 1; i++)
{
for (int j = i + 1; j <= teams.Length - 1; j++)
{
match = rand.Next(1, 4); // 1 = team A wins, 2 = team B wins, 3 = even
switch (match)
{
case 1:
teams[i].Score += 3;
Console.WriteLine(teams[i].TeamName + " wins against " + teams[j].TeamName);
Console.WriteLine();
break;
case 2:
teams[j].Score += 3;
Console.WriteLine(teams[i].TeamName + " loses against" + teams[j].TeamName);
Console.WriteLine();
break;
default:
teams[i].Score += 1;
teams[j].Score += 1;
Console.WriteLine(teams[i].TeamName + " even " + teams[j].TeamName);
Console.WriteLine();
break;
}
}
Console.ReadLine();
}
int m = teams.Max(t => t.Score);
int p = Array.IndexOf(teams, m); // doesn't work I need the position of the maximum value of Score
foreach (TeamScore i in teams)
Console.WriteLine(i);
Console.WriteLine();
}
}
class TeamScore
{
public string TeamName { get; set; }
public int Score { get; set; }
public TeamScore(string name, int score) // constructor
{
TeamName = name;
Score = score;
}