Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

antonfotev avatar antonfotev 4 Точки

More Exercises: Objects and Classes - 2. Oldest Family Member

Здравейте, на More Exercises: Objects and Classes - 2. Oldest Family Member ми дава 60 точки.
Условието е това:
2. Oldest Family Member
Create two classes – Family and Person. The Person class should have Name and Age properties. The Family class
should have a list of people, a method for adding members (void AddMember(Person member)) and a method
returning the oldest family member (Person GetOldestMember()). Write a program that reads the names and
ages of N people and adds them to the family. Then print the name and age of the oldest member.
Examples
Input                   Output
3                         Annie 5
Pesho 3
Gosho 4
Annie 5

Моят код

using System;
using System.Collections.Generic;
using System.Linq;

public class Person
{
    public Person(){}
    public Person(string name, int age)
    {
     this.Name = name;
     this.Age = age;    
    }
    
    public string Name {get; set;}
    
    public int Age {get; set;}
}

public class Family
{
    public Family()
    {
     this.OrderPersons = new List<Person>();    
    }
    
 public List<Person> OrderPersons {get; set;}    
    
 public void AddMember(Person member)
 {
      OrderPersons.Add(member); 
 }
    
 public void GetOldestMember()
 {
    var currentPersona = new Person{Name = "one", Age = -1};
    foreach(var kvp in OrderPersons)
    {
     if (currentPersona.Age < kvp.Age)
     {
        currentPersona = kvp; 
     }
    } // end foreach
     
    Console.WriteLine("{0} {1}", currentPersona.Name, currentPersona.Age); 
 }
    
} // end class Family
                    
public class Program
{
    public static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        
        var currentFamily = new Family();
        
        for(int i = 0; i < n; i++)
        {
         string[] input = Console.ReadLine()
             .Split();
            
         var member = new Person(input[0], int.Parse(input[1]));
     
         currentFamily.AddMember(member);    
        } // end for
        
        if(currentFamily.OrderPersons.Count > 0)    
        {
          currentFamily.GetOldestMember();
        }

    }
}

// 3
// Pesho 3
// Gosho 4
// Annie 5

// 5
// Steve 10
// Christopher 15
// Annie 4
// Ivan 35
// Maria 34

 

Тагове:
0
Teamwork and Personal Skills
Gabble avatar Gabble 3 Точки

Здравей! Методът GetOldestMember трябва да бъде (по условие) public Person GetOldestMember() {}, а не public void GetOldestMember() {}. Също така, вместо да въртиш foreach там, може да го направиш така: var oldestPerson = currentFamily.OrderByDescending(x.Age => x.Age).FirstOrDefault(); return oldestPerson;

Oбщо взето методът да изглежда така: 

 

public Person GetOldestMember()

{

var oldestPerson = currentFamily.OrderByDescending(x.Age => x.Age).FirstOrDefault();

return oldestPerson;

}

0
19/11/2019 08:09:44
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.