Loading...
kriskok95 avatar kriskok95 2 Точки

Проблемът идва от от това, че не проверяваш какво ще стане ако count-a на превозните средства е 0. Следователно не можеш да разделиш 0 на 0. Ето ти редактираното решение: https://pastebin.com/2tAGGrwy

0
svetlyoek avatar svetlyoek 20 Точки

Благодаря ти много! Как обаче разбра,че трябва да изписва нула,ако няма коли или съответно камиони-т.е. нямаме такъв пример,нито някаква подсказка?Или просто се застраховаме ние,мислим за такива случаи?

0
kriskok95 avatar kriskok95 2 Точки

Ами това е граничен случай за който би трябвало да се сетиш, а и ти реално не трябва да делиш 0  на 0, а когато нямаш коли средната стойност е логично да е 0. :)

0
28/02/2019 17:32:59
antonfotev avatar antonfotev 4 Точки

Аз съм направил такава проверка и въпреки това ми дава 33 точки.
Ето го моя код:
 

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

public class Vehicle
{
    public Vehicle(){}
    public Vehicle(string type, string model, string color, int horsepower)
    {
      this.Type = type;
      this.Model= model;
      this.Color = color;
      this.Horsepower = horsepower;    
    }
    
 public string Type {get; set;}
 public string Model {get; set;}
 public string Color {get; set;}
 public int Horsepower {get; set;}
}
                    
public class Program
{
    public static void Main()
    {
      var orderVehiclkles = new List<Vehicle>();
        
        string inputPrim = null;
        
        while ((inputPrim = Console.ReadLine()) != "End")
        {
            string[] input = inputPrim
                .Split();

            orderVehiclkles.Add(new Vehicle(input[0], input[1], input[2], int.Parse(input[3])));        
        } // end while
        
        while ((inputPrim = Console.ReadLine()) != "Close the Catalogue")
        {        
          foreach (var kvp in orderVehiclkles)
          {
             if(kvp.Model == inputPrim)
             {
                var currnetVehicle = new Vehicle(kvp.Type, kvp.Model, kvp.Color, kvp.Horsepower);
                GetPrintTisVehickle(currnetVehicle);
                break;
             }
          } // first foreach
        } // end while
        
        decimal CarsHorsepower = 0;
        decimal TrucksHorsepower = 0;
        
         foreach (var kvp in orderVehiclkles)
          {
            if(kvp.Type == "car") 
            {
             CarsHorsepower += kvp.Horsepower;  
            }
            else
            {
             TrucksHorsepower += kvp.Horsepower;  
            }
            
          } // first foreach
        int n = orderVehiclkles.Where(s => s.Type == "car").Count();
        int x = orderVehiclkles.Where(s => s.Type == "truck").Count();
        if(n > 0)
        {
         CarsHorsepower = CarsHorsepower / n;    
         Console.WriteLine("Cars have average horsepower of: {0:0.00}.", CarsHorsepower);
        }
        else
        {
         Console.WriteLine("Cars have average horsepower of: 0.00");
        }
        
        if (x > 0)
        {
         TrucksHorsepower = TrucksHorsepower / x;
         Console.WriteLine("Trucks have average horsepower of: {0:0.00}.", TrucksHorsepower);
        }
        else
        {
         Console.WriteLine("Trucks have average horsepower of: 0.00");
        } // end dable if-else
        
    }
    
    public static void GetPrintTisVehickle(Vehicle currnetVehicle)
    {
        if(currnetVehicle.Type == "car")
        {
         Console.WriteLine("Type: Car"); 
        }
        else
        {
         Console.WriteLine("Type: Truck");     
        }
        
        Console.WriteLine("Model: {0}", currnetVehicle.Model); 
        Console.WriteLine("Color: {0}", currnetVehicle.Color);                  
        Console.WriteLine("Horsepower: {0}", currnetVehicle.Horsepower); 
    }                
}

// truck Man red 200
// truck Mercedes blue 300
// car Ford green 120
// car Ferrari red 550
// car Lamborghini orange 570
// End
// Ferrari
// Ford
// Man
// Close the Catalogue

// Type: Car
// Model: Ferrari
// Color: red
// Horsepower: 550
// Type: Car
// Model: Ford
// Color: green
// Horsepower: 120
// Type: Truck
// Model: Man
// Color: red
// Horsepower: 200
// Cars have average horsepower of: 413.33.
// Trucks have average horsepower of: 250.00.

0
antonfotev avatar antonfotev 4 Точки

Извинявам се. На алтернативните изписвания (при стойности нула) съм забравил да слагам точки в края на изписваното изречение.

Коректен код, даващ 100 точки.
Сравни с твоя:

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

public class Vehicle
{
    public Vehicle(){}
    public Vehicle(string type, string model, string color, int horsepower)
    {
      this.Type = type;
      this.Model= model;
      this.Color = color;
      this.Horsepower = horsepower;    
    }
    
 public string Type {get; set;}
 public string Model {get; set;}
 public string Color {get; set;}
 public int Horsepower {get; set;}
}
                    
public class Program
{
    public static void Main()
    {
      var orderVehiclkles = new List<Vehicle>();
        
        string inputPrim = null;
        
        while ((inputPrim = Console.ReadLine()) != "End")
        {
            string[] input = inputPrim
                .Split();

            orderVehiclkles.Add(new Vehicle(input[0], input[1], input[2], int.Parse(input[3])));        
        } // end while
        
        while ((inputPrim = Console.ReadLine()) != "Close the Catalogue")
        {        
          foreach (var kvp in orderVehiclkles)
          {
             if(kvp.Model == inputPrim)
             {
                var currnetVehicle = new Vehicle(kvp.Type, kvp.Model, kvp.Color, kvp.Horsepower);
                GetPrintTisVehickle(currnetVehicle);
                break;
             }
          } // first foreach
        } // end while
        
        decimal CarsHorsepower = 0;
        decimal TrucksHorsepower = 0;
        
         foreach (var kvp in orderVehiclkles)
          {
            if(kvp.Type == "car") 
            {
             CarsHorsepower += kvp.Horsepower;  
            }
            else
            {
             TrucksHorsepower += kvp.Horsepower;  
            }
            
          } // first foreach
        int n = orderVehiclkles.Where(s => s.Type == "car").Count();
        int x = orderVehiclkles.Where(s => s.Type == "truck").Count();
        if(n > 0)
        {
         CarsHorsepower = CarsHorsepower / n;    
         Console.WriteLine("Cars have average horsepower of: {0:0.00}.", CarsHorsepower);
        }
        else
        {
         Console.WriteLine("Cars have average horsepower of: 0.00.");
        }
        
        if (x > 0)
        {
         TrucksHorsepower = TrucksHorsepower / x;
         Console.WriteLine("Trucks have average horsepower of: {0:0.00}.", TrucksHorsepower);
        }
        else
        {
         Console.WriteLine("Trucks have average horsepower of: 0.00.");
        } // end dable if-else
        
    }
    
    public static void GetPrintTisVehickle(Vehicle currnetVehicle)
    {
        if(currnetVehicle.Type == "car")
        {
         Console.WriteLine("Type: Car"); 
        }
        else
        {
         Console.WriteLine("Type: Truck");     
        }
        
        Console.WriteLine("Model: {0}", currnetVehicle.Model); 
        Console.WriteLine("Color: {0}", currnetVehicle.Color);                  
        Console.WriteLine("Horsepower: {0}", currnetVehicle.Horsepower); 
    }                
}

// truck Man red 200
// truck Mercedes blue 300
// car Ford green 120
// car Ferrari red 550
// car Lamborghini orange 570
// End
// Ferrari
// Ford
// Man
// Close the Catalogue

// Type: Car
// Model: Ferrari
// Color: red
// Horsepower: 550
// Type: Car
// Model: Ford
// Color: green
// Horsepower: 120
// Type: Truck
// Model: Man
// Color: red
// Horsepower: 200
// Cars have average horsepower of: 413.33.
// Trucks have average horsepower of: 250.00.   

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