コード例 #1
0
ファイル: Recursividade.cs プロジェクト: rmatosawg/aula-2
        public static void Main(string[] args)
        {
            int[] aleatorios = null;

            while (true)
            {
                bool novo_sorteio = true;
                int  tamanho      = 0;

                if (aleatorios != null)
                {
                    tamanho = aleatorios.Length;

                    Console.WriteLine("\n\n");
                    novo_sorteio = (Dev1.ValorDigitadoTratado("\nGera novo array ? S ou N", "S ou N!!!!", new string[] { "S", "N" }) == "S");
                }

                if (novo_sorteio)
                {
                    Console.WriteLine("\n\n");
                    tamanho = Dev1.ColetaInteiro(4, 1000000);

                    aleatorios = new int[tamanho];

                    for (int i = 0; i < aleatorios.Length; i++)
                    {
                        aleatorios[i] = new Random().Next(1, tamanho * 10);
                    }
                }

                DateTime ini      = DateTime.Now;
                DateTime fim      = DateTime.Now;
                int[]    ordenado = new int[tamanho];

                switch (Dev1.ValorDigitadoTratado("\nEscolha o algoritmo: (1) Bubble, (2) Quick, (3) List.Sort (4) Bubble Recursivo", "escolha!!!!", new string[] { "1", "2", "3", "4" }))
                {
                case "1":
                    var aleatoriosoriginais = new int[aleatorios.Length];
                    aleatorios.CopyTo(aleatoriosoriginais, 0);
                    ini        = DateTime.Now;
                    ordenado   = ArrayOrdenado(aleatorios);
                    fim        = DateTime.Now;
                    aleatorios = new int[aleatorios.Length];
                    aleatoriosoriginais.CopyTo(aleatorios, 0);

                    break;

                case "2":
                    aleatorios.CopyTo(ordenado, 0);
                    ini = DateTime.Now;
                    QuickSort(ordenado, 0, tamanho - 1);
                    fim = DateTime.Now;
                    break;

                case "3":

                    List <int> lista = new List <int>(aleatorios);
                    ini = DateTime.Now;
                    lista.Sort();
                    fim      = DateTime.Now;
                    ordenado = lista.ToArray();
                    break;

                case "4":
                    var aleatoriosoriginaisrec = new int[aleatorios.Length];
                    aleatorios.CopyTo(aleatoriosoriginaisrec, 0);
                    ini        = DateTime.Now;
                    ordenado   = ArrayOrdenadoRecursivo(aleatorios, aleatorios.Length);
                    fim        = DateTime.Now;
                    aleatorios = new int[aleatorios.Length];
                    aleatoriosoriginaisrec.CopyTo(aleatorios, 0);

                    break;
                }

                Console.WriteLine("Para ordenar {0} foram consumidos {1} milissegundos", tamanho, (fim.Ticks - ini.Ticks) / TimeSpan.TicksPerMillisecond);

                Console.Write("ALEATORIOS:");
                for (int i = 0; i < Math.Min(100, aleatorios.Length); i++)
                {
                    Console.Write("{0}  ", aleatorios[i]);
                }

                Console.Write("\nORDENADOS:");
                for (int i = 0; i < Math.Min(100, ordenado.Length); i++)
                {
                    Console.Write("{0}  ", ordenado[i]);
                }

                Console.ReadKey();
            }

            return;


            while (true)
            {
                //teste de ordem alfabetica
                Console.WriteLine("Informe o caminho de um arquivo de nomes:");
                string arquivo = Console.ReadLine();

                if (arquivo.ToUpper() == "EXIT")
                {
                    break;
                }
                else if (!File.Exists(arquivo))
                {
                    Console.WriteLine("arquivo nao existe.");
                }
                else
                {
                    string[] nomes = File.ReadAllLines(arquivo);
                    //remover os espaços em branco
                    nomes = nomes.Where(n => n.Trim() != "").ToArray();

                    string[] nomesordenados = ArrayOrdenado(nomes);

                    Console.WriteLine("Nomes ordenados:");
                    nomesordenados.ToList().ForEach(n => Console.WriteLine(n));
                    Console.WriteLine("FIM.");
                }
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("MENU INICIAL:");
                Console.WriteLine("1) primeiro programa de aula");
                Console.WriteLine("2) estruturas mais complexas");
                Console.WriteLine("3) recursividade");
                Console.WriteLine("4) CarftList");
                Console.WriteLine("5) OOP");
                Console.WriteLine("6) IO");
                Console.WriteLine("---------");
                Console.WriteLine("esc) Sair");

                ConsoleKeyInfo key = Console.ReadKey();

                Console.WriteLine("SEGUINDO ...");

                bool opcao_reconhecida = true;

                if (key.Key == ConsoleKey.Escape)
                {
                    break;
                }

                switch (key.KeyChar)
                {
                case '1':
                    Dev1.Main(args);
                    break;

                case '2':
                    EstruturasMaisComplexas.Main(args);
                    break;

                case '3':
                    Recursividade.Main(args);
                    break;

                case '4':
                    CraftList.Main(args);
                    break;

                //case '5':
                //    OOP.Program.Main(args);
                //    break;
                case '6':
                    IOTestes.Main(args);
                    break;

                default:
                    opcao_reconhecida = false;
                    Console.WriteLine("Não existe essa opção.");
                    break;
                }

                if (opcao_reconhecida)
                {
                    Console.WriteLine(" opção encerrada. digite uma tecla.");
                    Console.ReadKey();
                    Console.Clear();
                }
            }

            Console.WriteLine("FIM DA EXECUÇÃO - PRESSIONE QUALQUER TECLA ... ");
            Console.ReadKey();
        }