public static Program instance;
public string OrdenaArray(params string[] args) {
var resultado = string.Empty;
int[] entrada = new int[args.Length];
for (int i = 0; i < args.Length; i++) {
entrada[i] = int.Parse(args[i]);
for (int i = 0; i < entrada.Length - 1; i++) {
for (int j = i + 1; j > 0; j--) {
if (entrada[j - 1] > entrada[j]) {
int temp = entrada[j - 1];
entrada[j - 1] = entrada[j];
for (int i = 0; i < entrada.Length; i++) {
resultado += entrada[i].ToString();
if (i < (entrada.Length - 1))
public string BuscaItensFaltantesNaSequencia(params string[] args) {
var resultado = string.Empty;
string[] args_aux = args[0].ToString().Split(',');
int[] entrada = new int[args_aux.Length];
for (int i = 0; i < args_aux.Length; i++) {
entrada[i] = int.Parse(args_aux[i]);
int[] itensFaltantes = new int[2];
for (int i = 0; i < itensFaltantes.Length; i++) {
int j = 0, vlInicial = 0;
while (j < vlInicial && entrada[j] < itensFaltantes[i]) {
resultado += itensFaltantes[i].ToString();
if (i < (itensFaltantes.Length - 1))
public static void Main()
instance = instance ?? new Program();
var ordenado = instance.OrdenaArray("6", "3", "5", "4", "01", "7", "9");
var itensFaltantes = instance.BuscaItensFaltantesNaSequencia(ordenado);
var resultadoOrdenadoEsperado = "1,3,4,5,6,7,9";
var resultadoItensFaltantesEsperado = "2,8";
Console.WriteLine(ordenado == resultadoOrdenadoEsperado ? $"CORRETO {ordenado} == {resultadoOrdenadoEsperado}": $"INCORRETO {ordenado} != {resultadoOrdenadoEsperado}");
Console.WriteLine(itensFaltantes == resultadoItensFaltantesEsperado ? $"CORRETO {itensFaltantes} == {resultadoItensFaltantesEsperado}": $"INCORRETO {itensFaltantes} != {resultadoItensFaltantesEsperado}");