• Domingo 22 de Diciembre de 2024, 19:56

Autor Tema:  PERBITS no puedo con este problema.  (Leído 848 veces)

JanCa

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
PERBITS no puedo con este problema.
« en: Miércoles 8 de Abril de 2009, 00:10 »
0
Tengo un problema con la realizacion de un programa que no le he podido hacer porque mis conocimientos en las areas de la programacion son limitados ya que es primera vez que trato con esto. Para no redundar mucho mi problema es el siguiente: yo tengo que crear un programa que determine cuales son los bits persistentes, en otras palabras

0000000000000011         --> 3 en binario    
0000000000000010         --> 2 en binario
----------------------           (los dos son en 16 bits)
000000000000001?         --> lo que retorna ( el signo de interrogacion indica que en comparacion hay un bit que no es         igual por lo tanto se le asigna "?")

De verdad necesito ayuda porque a mi no se dan estas cosas, es solo un proyecto de la universidad el cual fue puesto sin antelacion y con una dificultad exorbitante (desde mi punto de vista) en comparacion de lo que nos habian dado hasta el momento. Soy estudiante de Ing.Civil por eso es que no conozco mucho de este mundo (la programacion) y pido ayuda, teniendo en claro mis limitaciones.

Para que no digan -Otro que quiere que le hagan la tarea-, he hecho todo lo que he podido y he hecho una subrutina que transforma a binario los decimales (hasta ahi alcanza mi sabiduria):

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

namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            string cade; // declara cadena de caracteres
            int n; // número del usuario

            Console.WriteLine("Convierte a binario el número entero");
           
            Console.Write("nNúmero:");
            cade = Console.ReadLine();
            n = Convert.ToUInt16(cade);

            Binario(n);
           
            Console.Read();
        }
       
       
        static void Binario(int n)
        {
            char[] s = new char[16]{'0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'}; // arreglo de characters
            int i; // contador en el char

               for (i = 15; n > 0; i--)
               {
                  s = (n % 2 == 1) ? s='1' : s='0';
                  n /= 2;
               }

            Console.WriteLine("nEl # en binario es:n");

            for (i = 0; i < 16; i++)
            {
                Console.Write(s + " ");
            }
        }
    }
}

Y eso es solo para la parte de transformar el numero a binario osea que falta mucho del problema. La pagina donde esta mi problema esta el problema la dare por otro mensaje a quien la pida ya que al ser un usuario nuevo parece ser que no puedo colocar dirreciones. Pero si le puedos decir que se encuentra en Sphere Online Judge (SPOJ) y es el problema 3252 (Perbits).

Si no quieren o no pueden ayudarme escribiendome el codigo, cualquier sugerencia sera recibida porque aunque no me den el codigo cualquier sugerencia podria acelerar el proceso de creacion del mismo dandome el tiempo para otras tareas importantes.

Muchas Gracias, por su cooperación.