Member 13678067 Ответов: 2

Как я могу создать класс с массивом


Привет, у меня есть проблема с этим вопросом
Напишите программу на C# с использованием классов, а затем предположим, что у вас есть массив размером (4,6)
Игроки. (Удостоверение личности, имя, рост, вес).
Удостоверение личности, имя, рост, вес

101 102 103 104 105 106
У Ф Х Ц Ч Ш З
155 см 180 см 174 см 168 см 165 см 177 см
75 кг 70 кг 65 кг 68 кг 80 кг 63 кг

Найдите следующее:
1. распечатайте идентификатор и имя игрока, который является самым высоким между ними.
2. Распечатайте идентификатор и имя игрока, получившего наибольший вес.
3. распечатайте удостоверение личности и имя каждого игрока, который имеет вес менее 70 г.
4. Найдите среднее значение роста и веса всех игроков.

кто-нибудь может решить эту проблему?

Что я уже пробовал:

class player
        {
            string[,] ply = new string[4, 6]
                { {"101","102","103","104","105","106" },
                {"u","v","w","q","a","s"},
                {"155cm","145cm","150cm","156cm","140cm","130cm"},
                {"50kg","20kg","70kg","54kg","66kg","90kg"} };
}

F-ES Sitecore

Мы здесь не для того, чтобы делать за тебя уроки.

Member 13678067

прежде всего если вы не знаете что это такое не комментируйте
это не домашнее задание, если я это пойму, то буду знать, как работает класс

#realJSOP

Если это не домашнее задание, то что же? Никакие требования к реальному приложению не будут сформулированы таким образом. Ни один программист в здравом уме не будет использовать массив вместо какой-то коллекции IEnumerable. Единственный программист, который не смог решить эту проблему, - это студент, который не обращал внимания на класс.

Наконец, ваш код делает очевидным, что вы не понимаете вопроса. Если мы сделаем за вас домашнее задание, ваш инструктор сможет (или, по крайней мере, должен будет) определить, что вы не писали код.

johannesnestler

конечно, любой человек с некоторым опытом мог бы решить эту проблему - для Шуре все, что до сих пор утруждает себя ответами на такие вопросы (несмотря на то, что вы игнорировали правила форума), как я или Джон. Но мое образование закончилось, я больше не делаю домашние задания - я работаю. Домашнее задание предназначено для обучения - вы можете сделать это только для себя. Никакое решение вашего "требования" не может иметь никакой ценности в реальном мире. Если я даю здесь помощь или совет, это должно быть "реальной проблемой" для кого - то, по крайней мере, а не просто ленивого студента, который не хочет делать свою домашнюю работу. Sry

ZurdoDev

Мы должны быть готовы помочь, домашнее задание или нет. Я ненавижу, когда люди говорят: "это домашнее задание, поэтому мы вам не поможем."

Richard MacCutchan

Существует большая разница между помощью кому-то с написанным им кодом и написанием кода от его имени.

ZurdoDev

Совершенно определенно.

johannesnestler

У меня нет проблем, если вы ненавидите это - мне нравится обучать, и я думаю, что это не поможет написать код для кого-то на этом уровне. Но не стесняйтесь делать его домашнюю работу, если хотите!

ZurdoDev

Нет, вы меня неправильно поняли. Я не сказал, что ненавижу "делать домашнее задание", я сказал, что ненавижу: "это домашнее задание, поэтому мы вам не поможем."

Если вам нравится воспитывать, то покажите это. Помогите ОП вместо того, чтобы оскорблять их, даже не зная их.

ZurdoDev

Итак, где именно вы застряли?

#realJSOP

Он застрял на "написать программу..."

ZurdoDev

У ОП есть хотя бы какой-то код.

#realJSOP

Его код нигде не приближается к требуемому результату.

ZurdoDev

Да, и я думаю, что ОП даже это знает.

2 Ответов

Рейтинг:
6

#realJSOP

Вот, передай это мне. Он создает массив игроков размером 4x6...

(Я рискну предположить, что это единственное решение, которое вы получаете, в котором есть код.)

public class Player
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int Height { get; set; }
    public int Weight { get; set; }
}

public class Players
{
    public double AvgWeight
    {
        get
        {
            List<Player> flat = this.Flatten(this.ThePlayers).ToList();
            return Math.Round(flat.Average(x=>x.Weight), 1);
        }
    }
    public double AvgHeight
    {
        get
        {
            List<Player> flat = this.Flatten(this.ThePlayers).ToList();
            return Math.Round(flat.Average(x=>x.Height),1);
        }
    }
    public string Tallest
    {
        get
        {
            List<Player> flat = this.Flatten(this.ThePlayers).ToList();
            Player player = flat.FirstOrDefault(x=>x.Height == flat.Max(y=>y.Height));
            return string.Format("Tallest player: {0} {1}", player.ID, player.Name);
        }
    }

    public string Heaviest
    {
        get
        {
            List<Player> flat = this.Flatten(this.ThePlayers).ToList();
            Player player = flat.FirstOrDefault(x=>x.Weight == flat.Max(y=>y.Weight));
            return string.Format("Tallest player: {0} {1}", player.ID, player.Name);
        }
    }

    public int RandomWeight()
    {
        return random.Next(63,80);
    }

    public int RandomHeight()
    {
        return random.Next(155,180);
    }

    public IEnumerable<T> Flatten<T>(T[,] map) 
    {
        for (int row = 0; row < map.GetLength(0); row++) 
        {
            for (int col = 0; col < map.GetLength(1); col++) 
            {
                yield return map[row,col];
            }
        }
    }

    private Player[,] ThePlayers = null;

    Random random = new Random();

    public Players()
    {
        this.ThePlayers = new Player[4,6]
        {
            { 
                new Player(){ID=101, Height=RandomHeight(), Name="Adam", Weight=random.Next(63,80)},
                new Player(){ID=102, Height=RandomHeight(), Name="Zach", Weight=random.Next(63,80)},
                new Player(){ID=103, Height=RandomHeight(), Name="Andy", Weight=random.Next(63,80)},
                new Player(){ID=104, Height=RandomHeight(), Name="Bob", Weight=random.Next(63,80)},
                new Player(){ID=105, Height=RandomHeight(), Name="Sam", Weight=random.Next(63,80)},
                new Player(){ID=106, Height=RandomHeight(), Name="John", Weight=random.Next(63,80)}
            },
            { 
                new Player(){ID=107, Height=random.Next(155,180), Name="Pradeep", Weight=random.Next(63,80)},
                new Player(){ID=108, Height=random.Next(155,180), Name="Panda", Weight=random.Next(63,80)},
                new Player(){ID=109, Height=random.Next(155,180), Name="Deepak", Weight=random.Next(63,80)},
                new Player(){ID=110, Height=random.Next(155,180), Name="Reetard", Weight=random.Next(63,80)},
                new Player(){ID=111, Height=random.Next(155,180), Name="Dumass", Weight=random.Next(63,80)},
                new Player(){ID=112, Height=random.Next(155,180), Name="Skinflute", Weight=random.Next(63,80)}
            },
            { 
                new Player(){ID=113, Height=random.Next(155,180), Name="Analpore", Weight=random.Next(63,80)},
                new Player(){ID=114, Height=random.Next(155,180), Name="Sumyunguy", Weight=random.Next(63,80)},
                new Player(){ID=115, Height=random.Next(155,180), Name="Tittiefreak", Weight=random.Next(63,80)},
                new Player(){ID=116, Height=random.Next(155,180), Name="Carpetmuncher", Weight=random.Next(63,80)},
                new Player(){ID=117, Height=random.Next(155,180), Name="Dickwad", Weight=random.Next(63,80)},
                new Player(){ID=118, Height=random.Next(155,180), Name="Numnuts", Weight=random.Next(63,80)}
            },
            { 
                new Player(){ID=119, Height=random.Next(155,180), Name="Asspilot", Weight=random.Next(63,80)},
                new Player(){ID=120, Height=random.Next(155,180), Name="Budonkidonks", Weight=random.Next(63,80)},
                new Player(){ID=121, Height=random.Next(155,180), Name="Lactator", Weight=random.Next(63,80)},
                new Player(){ID=122, Height=random.Next(155,180), Name="Loverope", Weight=random.Next(63,80)},
                new Player(){ID=123, Height=random.Next(155,180), Name="Pearlchin", Weight=random.Next(63,80)},
                new Player(){ID=124, Height=random.Next(155,180), Name="Bukake", Weight=random.Next(63,80)}
            }

        };
    }

    public List<Player> GetUnderWeight(int weight)
    {
        List<Player> players = this.Flatten(this.ThePlayers).Where(x=>x.Weight < 70).ToList();
        return players;
    }

}


Использование:

class Program
{
    static void Main(string[] args)
    {
        Players players = new Players();
        double avgHeight = players.AvgHeight;
        double avgWeight = players.AvgWeight;
        string giant = players.Tallest;
        string tubbo = players.Heaviest;
        List<Player> wimps = players.GetUnderWeight(70);
    }
}


Richard MacCutchan

Кататься по полу от смеха!

johannesnestler

хорошие примеры Джон ;)

Рейтинг:
2

Richard MacCutchan

Ну, несмотря на ваш комментарий выше, это очевидный вопрос домашнего задания. Но поскольку этот вопрос не имеет особого смысла, я дам вам совет.

Во-первых, узнайте, как создавать классы на языке Си#: Классы (Руководство По Программированию На C#) | Microsoft Docs[^].

Во вторых спросите своего учителя что подразумевается под этим утверждением "тогда предположим, что у вас есть массив размером (4,6) " Означает ли это 4 объекта этого класса или 4 группы из 6 объектов?


#realJSOP

Я дал ему кодез. Проверить это. :)

Richard MacCutchan

Я должен был дать вам 5 за это, так как это правильно.

#realJSOP

Это действительно дает результаты, которые он ищет. Интересно, как его инструктор отреагирует на использование Рэндома, поскольку он, очевидно, еще не появился в классе... :)

David Crow

- Это действительно дает те результаты, которые он ищет."

Но это не так печатать или находить что-нибудь. Разве это не то, чего он в конечном счете добивается?

#realJSOP

Ну, он не может ничего напечатать или найти, пока не построит массив правильно, но я отредактировал ответ, чтобы выполнить все требования, так что ему не пришлось делать это самому.