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."); } } }
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(); }