04. Vehicle Park
Здравейте, задачата минава коректно нулевите и първите 3 теста в Judge- a, но исках да я направя на 100% и почнах със случайни комбинации, но не видях никъде проблем. Ето го кода: http://pastebin.com/ddZc6XXR
Здравейте, задачата минава коректно нулевите и първите 3 теста в Judge- a, но исках да я направя на 100% и почнах със случайни комбинации, но не видях никъде проблем. Ето го кода: http://pastebin.com/ddZc6XXR
Нещо в for цикала става но не мога да намера точно грешката. Но ти упростих кода.
using System;
using System.Collections.Generic;
using System.Linq;
class VehicleParkSold
{
static void Main()
{
int count = 0;
List<string> list = Console.ReadLine().Split(' ').ToList();
string customer = Console.ReadLine().ToLower();
while (customer != "end of customers!")
{
string[] customerSplit = customer.Split(' ');
char car = customerSplit[0][0];
int seats = int.Parse(customerSplit[2]);
if (list.Contains(car + seats.ToString()))
{
Console.WriteLine("Yes, sold for {0}$", car * seats);
list.Remove(car + seats.ToString());
count++;
}
else
{
Console.WriteLine("No");
}
customer = Console.ReadLine().ToLower();
}
Console.WriteLine("Vehicles left: " + string.Join(", ", list));
Console.WriteLine("Vehicles sold: {0}", count);
}
}
Само ти махнах for цикъла и булевата и сложих един else. И използвах list.Contains() метода. Ти имаш идеята, почти си успял да решиш задачата на 100%, но малко си се спънал.
И това:
string[] vehicles = Console.ReadLine().Split(' ');
List<string> list = vehicles.ToList();
Може да го съкратиш на това:
List<string> list = Console.ReadLine().Split(' ').ToList();
Пререши задачата и ако нещо не разбираш, питай ме и аз ще ти обясна промените които направих спъпка по стъпка.
На ред 22 и на следващите търсиш в оригиналния списък за продажба vehicles, а след това премахваш елементи от остатъчния list и печаташ list. Навсякъде следва да бъде само list. Ако тестваш кода си само с една опция за продажба (например c2) и след това приемеш няколко идентични поръчки за продажба само на този модел, ще видиш, че кодът ти неправилно отчита всяка една като истинска продажба. Ако коригираш това, според мен кодът ще работи ОК.
Оправих го, мерси много, умората вчера вечерта си е казала думата и не съм видял, че трия само от втория лист! :D