Loading...
peter_arsov avatar peter_arsov 1 Точки

3.House Party

Здравейте,

изкарвам 62/100. помощ!

условие: https://softuni.bg/trainings/resources/officedocument/40815/exercise-problem-descriptions-csharp-fundamentals-may-2019/2363

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

namespace House_Party
{
    class Program
    {
        static void Main(string[] args)
        {
            int numOfCmd = int.Parse(Console.ReadLine());
            List<string> people = new List<string>();

            for (int i = 0; i < numOfCmd; i++)
            {
                string cmd = Console.ReadLine();
                List<string> res = cmd.Split().ToList();
                string name = res[0];
                bool isFound = false;

                if (cmd.Contains("is not going"))
                {
                    for (int j = 0; j < people.Count; j++)
                    {
                        if (people[j] == name)
                        {
                            people.Remove(name);
                            isFound = true;
                            break;
                        }
                    }
                    if (isFound == false)
                    {
                        Console.WriteLine($"{name} is not in the list!");
                    }
                }
                else
                {
                    if (people.Count == 0)
                    {
                        people.Add(name);
                    }
                    else
                    {
                        for (int j = 0; j < numOfCmd; j++)
                        {
                            if (people[j] == name)
                            {
                                Console.WriteLine($"{name} is already in the list!");
                                break;
                            }
                            else
                            {
                                people.Add(name);
                                break;
                            }
                        }
                    }

                }
            }
            for (int k = 0; k < people.Count; k++)
            {
                Console.WriteLine(people[k]);
            }
        }
    }
}
 

Тагове:
0
Module: C# Advanced
Vl.Metodiev avatar Vl.Metodiev 54 Точки

Здравей Петър

 

Преди няколко дни реших същата задача, само че на Java. Не съм разглеждал твоето решение, директно пренаписах моят код на C# и го тествах в Judge - 100/100. Ще го прикача по-долу. Ориентирай се по него, мисля, че ще ти свърши работа.

 

Успех!

 

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

namespace HouseParty
{
    class Program
    {
        static void Main(string[] args)
        {
            List<String> partyGoers = new List<String>();
            String expression, name;
            bool isAtAParty = false;

 

            int number = int.Parse(Console.ReadLine());
            

            for (int a = 0; a < number; a++)
            {
                expression = Console.ReadLine();
                char space = (char)32;
                int indexOfSpace = expression.IndexOf(space);
                name = expression.Substring(0, indexOfSpace);

                if (expression.Contains("is going"))
                {
                    for (int b = 0; b < partyGoers.Count; b++)
                    {
                        if (partyGoers.ElementAt(b).Equals(name))
                        {
                            Console.WriteLine($"{name} is already in the list!");
                            isAtAParty = true;
                        }
                    }
                    if (isAtAParty == false)
                    {
                        partyGoers.Add(name);
                    }
                }
                else if (expression.Contains("is not going"))
                {
                    for (int b = 0; b < partyGoers.Count; b++)
                    {
                        if (partyGoers.ElementAt(b).Equals(name))
                        {
                            partyGoers.Remove(name);
                            isAtAParty = true;
                        }
                    }
                    if (isAtAParty == false)
                    {
                        Console.WriteLine($"{name} is not in the list!");
                    }
                }
                if (isAtAParty == true)
                {
                    isAtAParty = false;
                }
            }

            for(int a = 0; a < partyGoers.Count; a++)
            {
                Console.WriteLine(partyGoers[a]);
            }
        }
    }
}

 

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