none
Exibir numeros crescentes e descrecentes RRS feed

  • Pergunta

  • Olá.

    Bom estou fazendo um programa onde a pessoa digita uma quantidade de numeros inteiros, e escolhe a opçao de ordernar quanto a crescente ou descrecente, porem nao consigo fazer o teste para colocar os numeros nos seus determinados lugares.

     

    meu codigo vai ate ai, mas nao faço ideia de como terminalo. alguem pode me ajudar??

     

                int tamanho = 0;

                string ordem = "";

     

                Console.WriteLine("Digite o tamanho do vetor: ");

                tamanho = Convert.ToInt32(Console.ReadLine());

     

                int[] vetTamanho = new int[tamanho];

     

                for (int i = 0; i < vetTamanho.Length; i++)

                {

                    Console.WriteLine("Digite o numero: ");

                    vetTamanho[i] = Convert.ToInt32(Console.ReadLine());

     

                }

                Console.WriteLine("Digite a ordem que deseja: (D) Decrecente ou (C) Crescente: ");

                ordem = Console.ReadLine();

     

                if (ordem == "C")

     

     

                    }

                    }

     

                Console.ReadKey();


    Twitter: @Jpegbh Msn: Jhonny.jpeg@gmail.com
    quarta-feira, 2 de novembro de 2011 23:23

Respostas

  • Jpeg,

    Imprime depois do If, como eu fiz, dentro do if tá ocorrendo a ordenação, podem ter vários passos lá para mover um valor até a posição correta.

    Se você não quer usar for each, o for comum ficaria assim - substituindo no meu código:

    Console.WriteLine("Resultado:");
    for(int i=0; i<vetTamanho.Length; i++)
    {
        Console.WriteLine(vetTamanho[i].ToString());
    }
    


    Abraços,

    Francisco 

    • Marcado como Resposta Jpeghbh quinta-feira, 3 de novembro de 2011 01:08
    quinta-feira, 3 de novembro de 2011 00:36
    Moderador

Todas as Respostas

  •            int tamanho = 0;
    
                string ordem = "";
    
    
                Console.WriteLine("Digite o tamanho do vetor: ");
    
                tamanho = Convert.ToInt32(Console.ReadLine());
    
    
                int[] vetTamanho = new int[tamanho];
    
    
                for (int i = 0; i < vetTamanho.Length; i++)
                {
                    Console.WriteLine("Digite o numero: ");
    
                    vetTamanho[i] = Convert.ToInt32(Console.ReadLine());
                }
    
                Console.WriteLine("Digite a ordem que deseja: (D) Decrecente ou (C) Crescente: ");
    
                ordem = Console.ReadLine();
    
    
    
                if (ordem == "C")
                {
                    foreach (var num in vetTamanho)
                        Console.WriteLine(num);
                }
                else
                {
                    foreach (var num in vetTamanho.OrderByDescending(c => c))
                        Console.WriteLine(num);
                }
    


    Pedro Henrique B. Fernandes
    MCTS - .NET Framework 4, Data Access
    MCTS - .NET Framework 4, Web Applications
    Site: pedrofernandes.net
    quinta-feira, 3 de novembro de 2011 00:00
  • Jpeg,

    Só completei seu código:

                int tamanho = 0;
                string ordem = ""; 
    
                Console.WriteLine("Digite o tamanho do vetor: ");
                tamanho = Convert.ToInt32(Console.ReadLine()); 
    
                int[] vetTamanho = new int[tamanho]; 
    
                for (int i = 0; i < vetTamanho.Length; i++)
                {
                    Console.WriteLine("Digite o numero: ");
                    vetTamanho[i] = Convert.ToInt32(Console.ReadLine());
                }
    
                Console.WriteLine("Digite a ordem que deseja: (D) Decrecente ou (C) Crescente: ");
                ordem = Console.ReadLine();
    
                int aux = 0;
                if (ordem == "C")
                {
                    for (int i = 0; i < vetTamanho.Length; i++)
                    {
                        for (int j = 0; j < vetTamanho.Length; j++)
                        {
                            if (vetTamanho[i] < vetTamanho[j])
                            {
                                aux = vetTamanho[j];
                                vetTamanho[j] = vetTamanho[i];
                                vetTamanho[i] = aux;
                            }
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < vetTamanho.Length; i++)
                    {
                        for (int j = 0; j < vetTamanho.Length; j++)
                        {
                            if (vetTamanho[i] > vetTamanho[j])
                            {
                                aux = vetTamanho[j];
                                vetTamanho[j] = vetTamanho[i];
                                vetTamanho[i] = aux;
                            }
                        }
                    }            
                }
    
                Console.WriteLine("Resultado:");
                foreach (int i in vetTamanho)
                {
                    Console.WriteLine(i.ToString());
                }
    
                Console.ReadKey();
    


    Abraços,

    Francisco

    quinta-feira, 3 de novembro de 2011 00:01
    Moderador
  • Eu tentei mudar, para imprimir os resultados dentro do if, mas nao deu certo. como posso fazer,  pra impressao sem dentro do if? Porque ainda nao sei fazer para imprimir atraves dessa forma:
     Console.WriteLine("Resultado:");
                foreach (int i in vetTamanho)
                {
                    Console.WriteLine(i.ToString());
    Eu mudei e ficou assim, mas ai nao da certo.
    int aux = 0;
                if (ordem == "C")
                {
                    for (int i = 0; i < vetTamanho.Length; i++)
                    {
                        for (int j = 0; j < vetTamanho.Length; j++)
                        {
                            if (vetTamanho[i] < vetTamanho[j])
                            {
                                aux = vetTamanho[j];
                                vetTamanho[j] = vetTamanho[i];
                                vetTamanho[i] = aux;
                                Console.WriteLine("Resultado: " + vetTamanho[i]);
                            }
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < vetTamanho.Length; i++)
                    {
                        for (int j = 0; j < vetTamanho.Length; j++)
                        {
                            if (vetTamanho[i] > vetTamanho[j])
                            {
                                aux = vetTamanho[j];
                                vetTamanho[j] = vetTamanho[i];
                                vetTamanho[i] = aux;
                                Console.WriteLine("Resultado: " + vetTamanho[i]);
                            }
                        }
                    }
                    Console.ReadKey();

    Twitter: @Jpegbh Msn: Jhonny.jpeg@gmail.com
    quinta-feira, 3 de novembro de 2011 00:27
  • Jpeg,

    Imprime depois do If, como eu fiz, dentro do if tá ocorrendo a ordenação, podem ter vários passos lá para mover um valor até a posição correta.

    Se você não quer usar for each, o for comum ficaria assim - substituindo no meu código:

    Console.WriteLine("Resultado:");
    for(int i=0; i<vetTamanho.Length; i++)
    {
        Console.WriteLine(vetTamanho[i].ToString());
    }
    


    Abraços,

    Francisco 

    • Marcado como Resposta Jpeghbh quinta-feira, 3 de novembro de 2011 01:08
    quinta-feira, 3 de novembro de 2011 00:36
    Moderador
  • Francisco. vc poderia me ajudar nesse link?

    http://social.msdn.microsoft.com/Forums/pt-BR/vscsharppt/thread/7a39ecc0-0536-4ae3-b995-2d36f3fbfb68


    Twitter: @Jpegbh Msn: Jhonny.jpeg@gmail.com
    domingo, 20 de novembro de 2011 07:27