Ads

OBS: Leia a minha aula completa de Arrays em C# com exemplos simples se você ainda não domina muito bem este assunto.

Para ordenar um vetor, podemos simplesmente usar um Array.Sort() e para ordenar em ordem decrescente podemos usar um Array.Reverse(). Podemos também ordenar de forma aleatória com o auxílio da classe Random()

Vamos para alguns exemplos prático;

Ordenar um Array em C# em Ordem Crescente

Exemplo: Crie uma aplicação que leia 10 números e ordene-os em ordem crescente, informando qual é o maior e qual é o menor número informado pelo usuário.

using System;
					
public class Program
{
	public static void Main()
	{
		int[] numeros = new int[10];
		
		for (int p=0; p<numeros.Length; p++)
		{
			Console.Write("Digite um número: ");
			numeros[p] = Convert.ToInt32(Console.ReadLine());
		}
		
		Array.Sort(numeros);
		Console.Write("\n\n");
		foreach (int p in numeros) Console.WriteLine(p);
	}
}

Eis o resultado;

Ordenar um Array em C# em Ordem Decrescente

Exemplo: Crie uma aplicação que leia 10 números e ordene-os em ordem decrescente informando quantos números são primos.

int[] numeros = new int[10];
		
for (int p=0; p<numeros.Length; p++)
{
	Console.Write("Digite um número: ");
	numeros[p] = Convert.ToInt32(Console.ReadLine());
}
	
Console.WriteLine("\n\n");
		
Array.Reverse(numeros);		
foreach (int p in numeros)
{
	for (int i=2; i<=p; i++)
	{
		if (p % i == 0 && i != p) 
		{
			Console.WriteLine(p); // não é primo
			break;	
		}
	
		if (p % i == 0 && i == p) 
		{
			Console.WriteLine(p + " é primo");
			break;
		}
	}
}

Resultado:

Ordenar um Array em C# em Ordem Aleatória

Exemplo: Uma turma escolar com 15 estudantes precisam ser organizados em grupos 5 grupos diferentes para realizarem uma pesquisa escolar. Para evitar brigas o Professor te pediu para desenvolver uma pequena aplicação que irá separar o estudantes de forma aleatória. Escreva a aplicação.

using System;
					
public class Program
{
	public static void Main()
	{
		string[] estudantes = new string[] {
                       "Anderson", "Castro", "Denise",
                       "Karla", "Katia", "Lazaro",
                       "Lucas", "Luciana", "Michel",
                       "Norma", "Priscila", "Rodrigo",
                       "Sergio", "Stenio", "Toninho" };
	    
		// Para ordenar de forma aleatória precisamos de uma variável auxiliar.
		Random sorteio = new Random();
		for (int i = 0; i < estudantes.Length - 1; i++)
		{
			int j = sorteio.Next(i, estudantes.Length);
			var temp = estudantes[i];
			estudantes[i] = estudantes[j];
			estudantes[j] = temp;
		}
		
		int x = 0, grupo = 1;
		foreach (string p in estudantes)
		{	
			if (x % 3 == 0) 
			{
				Console.WriteLine("\n\nGrupo " + grupo + ":");
				grupo++;
			}
			Console.WriteLine(" > " + p);
			x++;
		}
	}
}

Resultado:

Ads