Algoritmo mostrar valores divisivel por 2 e 3

Ir em baixo

Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por filipibc em Seg 16 Mar 2009, 11:28

Desafio


Vi numa comunidade do orkut, um cara precisando fazer um algoritmo que faça o seguinte:

● Ler 4 numeros inteiros.
Mostrar no final de programa, qual deles é divisivel por 2 e 3.
● Os que nao forem divisivel nao sera mostrado na tela.
● Caso Nenhum seja divisivel por 2 e 3 ao mesmo tempo, mostrar na tela uma mensagem falando que nenhum deles é divisivel.
● Os que forem divisivel por 2 e 3 tera que ser mostrado com apenas uma mensagem.

Tentei ontem a tarde durante alguns 30 minutos mas nao consegui.
sera que alguem daqui vai conseguir???
avatar
filipibc
Moderador
Moderador

Número de Mensagens : 12
Data de inscrição : 11/03/2009

Ver perfil do usuário http://www.filipibc.freevar.com

Voltar ao Topo Ir em baixo

Ficou um pouco grande, mas fui a unica forma que eu consegui. Tentei com repetição não deu certo

Mensagem por dierudito em Seg 16 Mar 2009, 15:01

Código:

using System;
namespace Ler_4_números_inteiros
{
    class Program
    {
        static void Main(string[] args)
        {
            double num1, num2, num3, num4;

            Console.WriteLine("\n Informe o primeiro número");
            num1 = Double.Parse(Console.ReadLine());

            Console.WriteLine("\n Informe o segundo número");
            num2 = Double.Parse(Console.ReadLine());

            Console.WriteLine("\n 3º número");
            num3 = Double.Parse(Console.ReadLine());

            Console.WriteLine("\n 4º número");
            num4 = Double.Parse(Console.ReadLine());

            if ((num1%2== 0) || (num1%3 == 0))
            {
                Console.Write("\n" + num1);
            }
            if ((num2 % 2 == 0) || (num2 % 3 == 0))
            {
                Console.Write(" "+ num2);
            }
            if ((num3 % 2 == 0) || (num3 % 3 == 0))
            {
                Console.Write(" " + num3);
            }
            if ((num4 % 2 == 0) || (num4 % 3 == 0))
            {
                Console.Write(" " + num4);
            }
            else if((num1%2!=0)&(num1%3!=0)&(num2%2!=0)&(num2%3!=0)&(num3%2!=0)&(num3%3!=0)&(num4%2!=0)&(num4%3!=0))
            {
                Console.WriteLine("\n nenhum deles é divisivel");
            }
            Console.WriteLine("\n Pressione Enter para sair");
            Console.ReadLine();
        }
    }
}
avatar
dierudito
Moderador
Moderador

Número de Mensagens : 20
Idade : 26
Data de inscrição : 11/03/2009

Ver perfil do usuário http://diego.gameview.com.br

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por filipibc em Seg 16 Mar 2009, 15:56

Boa Mas o garoto precisava de um CONSOLE.WRITELINE no final que mostrava quais eram divisivel quais nao eram, nao um em cada if.
sacou?
desse jeito que vc fez eu tinha feito igual, mas do jeito que ele tava querendo achei meio complicado, e n consegui fazer
avatar
filipibc
Moderador
Moderador

Número de Mensagens : 12
Data de inscrição : 11/03/2009

Ver perfil do usuário http://www.filipibc.freevar.com

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por Evandro Abu Kamel em Seg 16 Mar 2009, 17:06

Dierudito, uma correção no seu código: quando for usar o "E" nas condições do 'if', você usou apenas um & , mas o correto é &&.

Código:
if((num1%2!=0)&&(num1%3!=0)&& .....

Vou tentar fazer esse programa e posto aqui depois.
avatar
Evandro Abu Kamel
Administrador
Administrador

Número de Mensagens : 222
Idade : 28
Data de inscrição : 11/03/2009

Ver perfil do usuário http://forum.clubedosistema.com

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por Evandro Abu Kamel em Seg 16 Mar 2009, 18:13

Consegui!!
Mas o seguinte, eu usei alguns recursos que ainda não vimos em sala, usei 'vetores' e usei esses vetores dentro de 'for()'.

Mas tá funcionando como deveria.
E meu compilador de C# tá funcionando no Linux agora. Very Happy

Código:
public static void Main(string[] args)
      {
         double num1, num2, num3, num4;
         int cont1, cont2;
         double[] div23, div1;  // vetores
         div23 = new double[4]; // inicializacao
         div1 = new double[4]; // inicializacao

            Console.WriteLine("Informe o 1o numero: ");
            num1 = double.Parse(Console.ReadLine());

            Console.WriteLine("Informe o 2o numero: ");
            num2 = double.Parse(Console.ReadLine());

            Console.WriteLine("Informe o  3o numero: ");
            num3 = double.Parse(Console.ReadLine());

            Console.WriteLine("Informe o 4o numero: ");
            num4 = double.Parse(Console.ReadLine());
         
         if (num1%2==0 && num1%3==0)
         {
            div23[0] = num1;
         }
         else if (num1%2==0 ^ num1%3==0)
         {
            div1[0] = num1;
         }
         else
         {
            div23[0] = 0;
            div1[0] = 0;
         }
         
         if (num2%2==0 && num2%3==0)
         {
            div23[1] = num2;
         }
         else if (num2%2==0 ^ num2%3==0)
         {
            div1[1] = num2;
         }
         else
         {
            div23[1] = 0;
            div1[1] = 0;
         }
         
         if (num3%2==0 && num3%3==0)
         {
            div23[2] = num3;
         }
         else if (num3%2==0 ^ num3%3==0)
         {
            div1[2] = num3;
         }
         else
         {
            div23[2] = 0;
            div1[2] = 0;
         }
         
         if (num4%2==0 && num4%3==0)
         {
            div23[3] = num4;
         }
         else if (num4%2==0 ^ num4%3==0)
         {
            div1[3] = num4;
         }
         else
         {
            div23[3] = 0;
            div1[3] = 0;
         }
         
         // mostra apenas os divisiveis por 2 OU 3
         Console.Write("\n\nO numeros ");
         for (cont1=0 ; cont1<=3 ; cont1++)
         {
            if (div1[cont1] != 0)
            {
               Console.Write(" "+div1[cont1]+" ");
            }
         }
         Console.Write(" sao divisiveis apenas por 2 ou 3 exclusivamente.\n");
         
         // mostra apenas os divisiveis por 2 E 3
         Console.Write("O numeros ");
         for (cont2=0 ; cont2<=3 ; cont2++)
         {
            if (div23[cont2] != 0)
            {
               Console.Write(" "+div23[cont2]+" ");
            }
         }
         Console.Write(" sao divisiveis por 2 e 3 ao mesmo tempo.\n\n");
         
         Console.Read();
      }
avatar
Evandro Abu Kamel
Administrador
Administrador

Número de Mensagens : 222
Idade : 28
Data de inscrição : 11/03/2009

Ver perfil do usuário http://forum.clubedosistema.com

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por dierudito em Seg 16 Mar 2009, 18:31

o Console.Write ele mostra tudo em uma única linha, ele não quebra a linha igual ao Console.WriteLine.
avatar
dierudito
Moderador
Moderador

Número de Mensagens : 20
Idade : 26
Data de inscrição : 11/03/2009

Ver perfil do usuário http://diego.gameview.com.br

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por Evandro Abu Kamel em Seg 16 Mar 2009, 18:35

Pois essa foi a intensão, tem mais coisas que aparecem nessa mesma linha.
avatar
Evandro Abu Kamel
Administrador
Administrador

Número de Mensagens : 222
Idade : 28
Data de inscrição : 11/03/2009

Ver perfil do usuário http://forum.clubedosistema.com

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por filipibc em Seg 16 Mar 2009, 19:08

Eu tbm tinha pensado em fazer com vetor (ate comentei com o gabriel sobre fazer isso com vetor hj).
Mas n me lembro muito bem como se usa vetor em C++, e nunca vi em C# ai nem tentei fazer com vetor.

Parabens ae por ter conseguido.
avatar
filipibc
Moderador
Moderador

Número de Mensagens : 12
Data de inscrição : 11/03/2009

Ver perfil do usuário http://www.filipibc.freevar.com

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por Evandro Abu Kamel em Seg 16 Mar 2009, 19:52

Aprendi a usar vetor em C# agorinha... quem procura acha. Wink
avatar
Evandro Abu Kamel
Administrador
Administrador

Número de Mensagens : 222
Idade : 28
Data de inscrição : 11/03/2009

Ver perfil do usuário http://forum.clubedosistema.com

Voltar ao Topo Ir em baixo

Re: Algoritmo mostrar valores divisivel por 2 e 3

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum