none
while RRS feed

  • Pergunta

  • Galera eu tenho o seguinte formulario:

    Onde o usuário vai digitar qualquer número na text e add na primeira list, ele pode digitar vários e assim adicionando, isso já ta funcionando, oque falta é quando ele clicar em processar, os números q ele digitou exibir em crescente e decrescente, mais para isso eu preciso usar a estrutura do "while" e não estou conseguindo fazer com que de certo, alguém pode me ajudar?obrigado pela atenção aguardo resposta

    sexta-feira, 13 de março de 2015 18:02

Respostas

  • using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace Help
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                var listNumeros = new List<int> { 3, 30, 5, 9, 1, 7 };
    
                var ordemCrescente = listNumeros.OrderBy(n => n);
                var ordemDecrescente = listNumeros.OrderByDescending(n => n);
    
                Console.WriteLine("Crescente");
                int i = 0;
                while (i < ordemCrescente.Count())
                {
                    Console.WriteLine(ordemCrescente.ElementAt(i));
                    i++;
                }
                
                Console.WriteLine("Decrescente");
                i = 0;
                while (i < ordemDecrescente.Count())
                {
                    Console.WriteLine(ordemDecrescente.ElementAt(i));
                    i++;
                }
    
                Console.ReadKey();
    
            }
        }
    }
    

    sexta-feira, 13 de março de 2015 19:36
  • Olá, 

    está linha é somente para exemplificar o que no seu exemplo são os números que o usuário digitou e adicionou.

    Ex. Digitou 3 -> Clicou em adicionar, digitou 30 -> Clicou em adicionar, digitou 5 ...

    Então quando clicar em processar, a aplicação deve pegar os números digitados e fazer o while.

    Dentro do while onde está 

    Console.WriteLine(ordemCrescente.ElementAt(i));

    Você deve fazer algo como

    listBoxCrescente.add(ordemCrescente.ElementAt(i));

    At

    sábado, 14 de março de 2015 18:30

Todas as Respostas

  • Olá,

    acredito que um foreach seja melhor que um while nesse caso.

    Veja se esse exemplo abaixo lhe ajuda!

    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace Help
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                var listNumeros = new List<int> { 3, 30, 5, 9, 1, 7 };
    
                var ordemCrescente = listNumeros.OrderBy(n => n);
                var ordemDecrescente = listNumeros.OrderByDescending(n => n);
    
                Console.WriteLine("Crescente");
                foreach (var numero in ordemCrescente)
                {
                    //Adapte aqui para inserir à sua list
                    Console.WriteLine(numero);
                }
    
                Console.WriteLine("Decrescente");
                foreach (var numero in ordemDecrescente)
                {
                    //Adapte aqui para inserir à sua list
                    Console.WriteLine(numero);
                }
    
                Console.ReadKey();
    
            }
        }
    }
    
    At.

    sexta-feira, 13 de março de 2015 18:21
  • Olá,

    então eu sei que seria mais fácil desse jeito, mais nesse caso teria q ser usando o while mesmo!

    sexta-feira, 13 de março de 2015 18:23
  • using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace Help
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                var listNumeros = new List<int> { 3, 30, 5, 9, 1, 7 };
    
                var ordemCrescente = listNumeros.OrderBy(n => n);
                var ordemDecrescente = listNumeros.OrderByDescending(n => n);
    
                Console.WriteLine("Crescente");
                int i = 0;
                while (i < ordemCrescente.Count())
                {
                    Console.WriteLine(ordemCrescente.ElementAt(i));
                    i++;
                }
                
                Console.WriteLine("Decrescente");
                i = 0;
                while (i < ordemDecrescente.Count())
                {
                    Console.WriteLine(ordemDecrescente.ElementAt(i));
                    i++;
                }
    
                Console.ReadKey();
    
            }
        }
    }
    

    sexta-feira, 13 de março de 2015 19:36
  • Olá,

    cara teria como você me explicar algumas coisas no seu código?primeiramente onde eu devo colocar os nomes da minhas list de crescente e decrescente para aparecer os números, segundo para que server essa linha 

    var listNumeros = new List<int> { 3, 30, 5, 9, 1, 7 };?

    sexta-feira, 13 de março de 2015 21:08
  • Olá, 

    está linha é somente para exemplificar o que no seu exemplo são os números que o usuário digitou e adicionou.

    Ex. Digitou 3 -> Clicou em adicionar, digitou 30 -> Clicou em adicionar, digitou 5 ...

    Então quando clicar em processar, a aplicação deve pegar os números digitados e fazer o while.

    Dentro do while onde está 

    Console.WriteLine(ordemCrescente.ElementAt(i));

    Você deve fazer algo como

    listBoxCrescente.add(ordemCrescente.ElementAt(i));

    At

    sábado, 14 de março de 2015 18:30