Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Ordenar numeros pares e Impares


jonathan.rocket

Pergunta

Olá boa tarde, estou com um pequeno problema, estou tentando fazer uma rotina para ordenar números pares e ímpares em um vetor,ou seja, quero que os pares fiquem no final e os impares no inicio....mas não estou conseguindo você poderiam me ajudar?

Desde já agradeço pela ajuda de vocês.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ordenação
{
    class Program
    {
        static void Main(string[] args)
        {
            int aux = 0;
            int[] valor = new int[3];
            for (int i = 0; i < 3; i++)
            {
                for(int j= 0; i < 3; i++)
                {
                valor[i] = Convert.ToInt32(Console.ReadLine());
                //Console.WriteLine("Digite os Números");
                if (valor[i] % 2 == 0)
                {
                   //Console.WriteLine("PAR");
                    valor[i] = aux;
                    aux = valor[i] - 1;
                }
                else
                {
                   //Console.WriteLine("IMPAR"); 
                   aux = valor[i];
                   valor[i] = valor[j];
                   valor[j] = aux;
                }
                
                }
            }
            Console.WriteLine("Os números ordenados!");
        }
    }
}

Editado por jonathan.rocket
code
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

para facilitar, você poderia quebrar suas rotinas... 1 loop para pegar os numero, depois um loop que irá ler esses números comparando os valores e adicionando à um vetor especifico ( um vetor para pares e outros para ímpar) depois preenchera o vetor padrão com os 2 vetores na ordem que quiser. Assim você ainda pode organizar de forma crescente...

Link para o comentário
Compartilhar em outros sites

  • 0

hauhauahauhauahauhau... eu tava montando um esquema pra te ajudar... hauhauahauha sai pra almoçar.. .voltei terminei o esquema...

ae agora vim postar, e vi que você havia resolvido.....

mas, caso queira dar uma olhada.. eu tentei simplificar... nem comentei o código...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;



namespace Ordenacao
{
    class Program
    {
        static void Main(string[] args)
        {

            string Caracter = "";
            string Parametro = "";



            while ((Caracter != "X") && (Caracter != "x"))
            {
                Console.Clear();
                Console.WriteLine("Digite o número desejado e pressione <ENTER>. Para finalizar o imput de números, digite <X> e pressione <ENTER>.");
                Caracter = Console.ReadLine();

                try
                {
                    int validaNumero = Convert.ToInt32(Caracter);

                    if (Parametro.Length > 0)
                    {
                        Parametro = Parametro + "," + Caracter;
                    }
                    else
                    {
                        Parametro = Caracter;
                    }

                }
                catch
                {

                    if ((Caracter == "X") || (Caracter == "x"))
                    {
                        TrataParametro(Parametro);
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("Digite apenas números!");
                        Console.Read();
                    }





                }

            }

           
        }


        public static void TrataParametro(string Parametro)
        {
            string[] Parametros = Parametro.Split(',');

            int QtdParametros = Parametros.Length;

            int[] Numeros = new int[QtdParametros];


            int i = 0;
            while (QtdParametros > i)
            {
                Numeros[i] = Convert.ToInt32(Parametros[i]);

                i = i + 1;
            }

            i = 0;

            int _numero = 0;

            int x = 0;
            while ((QtdParametros) > x)
            {
                i = 0;
                while (QtdParametros - 1 > i)
                {
                    if (Numeros[i + 1] < Numeros[i])
                    {
                        _numero = Numeros[i];
                        Numeros[i] = Numeros[i + 1];
                        Numeros[i + 1] = _numero;
                    }

                    i = i + 1;
                }
                x = x + 1;
            }


            double resto;
            string impares = "", pares = "";
            i = 0;
            while (QtdParametros - 1 > i)
            {
                resto = Numeros[i] % 2;
                if (resto > 0.00)
                {

                    if (impares.Length > 0)
                    {
                        impares = impares + "," + Numeros[i].ToString();
                    }
                    else
                    {
                        impares = Numeros[i].ToString();
                    }

                }
                else
                {
                    if (pares.Length > 0)
                    {
                        pares = pares + "," + Numeros[i].ToString();
                    }
                    else
                    {
                        pares = Numeros[i].ToString();
                    }
                }

                i = i + 1;
            }



            Parametro = impares;
            if (Parametro.Length > 0)
            {
                Parametro = Parametro + ',' + pares;
            }
            else
            { 
                Parametro = pares;
            }

            string[] resultado = Parametro.Split(',');

            


            i = 0;
            Console.Clear();
            while (resultado.Length > i)
            {
                Console.WriteLine(resultado[i]);

                i = i + 1;
            }

            Console.Read();
        }

    }
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...