Пример #1
0
        public static double CalcularDistancia(Amigo amigo1, Amigo amigo2)
        {
            double result = 0;

            double parcialValue = ((amigo1.latitude - amigo2.latitude) * (amigo1.latitude - amigo2.latitude)) + ((amigo1.longitude - amigo2.longitude) * (amigo1.longitude - amigo2.longitude));

            result = Math.Sqrt(parcialValue);

            return(result);
        }
Пример #2
0
        public static bool AdicionarAmigo(List <Amigo> lista)
        {
            Console.WriteLine("Digite o nome do amigo");
            string nome      = Console.ReadLine();
            double latitude  = InputLatitude();
            double longitude = InputLongitude();

            Amigo novoAmigo = new Amigo(nome, latitude, longitude);

            return(Amigo.AdicionarAmigo(lista, novoAmigo));
        }
Пример #3
0
        public static bool AdicionarAmigo(List <Amigo> listaAmigos, Amigo amigo)
        {
            foreach (Amigo ami in listaAmigos)
            {
                if (amigo.latitude == ami.latitude && amigo.longitude == ami.longitude)
                {
                    return(false);
                }
            }

            listaAmigos.Add(amigo);

            return(true);
        }
Пример #4
0
        public static void BuscarAmigosMaisProximos(List <Amigo> lista)
        {
            Console.WriteLine("Digite o nome do amigo que esta visitando.");
            string nome = Console.ReadLine();

            List <Amigo> listaAmigos = Amigo.BuscarAmigosMaisProximos(lista, nome);

            if (listaAmigos.Count > 0)
            {
                Console.WriteLine("Os amigos mais próximos são:");
                foreach (Amigo item in listaAmigos)
                {
                    Console.WriteLine(item.nome);
                }
            }
            else
            {
                Console.WriteLine("Nenhum amigo encontrado.");
            }
        }
Пример #5
0
        public static List <Amigo> BuscarAmigosMaisProximos(List <Amigo> listaAmigos, string nome)
        {
            Amigo amigoAtual = listaAmigos.FirstOrDefault(x => x.nome == nome);

            if (amigoAtual == null)
            {
                return(new List <Amigo>());
            }

            List <Amigo> listaRetorno = new List <Amigo>(listaAmigos);

            listaRetorno.Remove(amigoAtual);

            foreach (Amigo ami in listaRetorno)
            {
                ami.distancia = CalcularDistancia(amigoAtual, ami);
            }

            listaRetorno = listaRetorno.OrderBy(x => x.distancia).Take(3).ToList();

            return(listaRetorno);
        }