SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Visual Basic para principiantes => Mensaje iniciado por: DIDA en Jueves 17 de Julio de 2008, 02:53

Título: Codificación Hamming
Publicado por: DIDA en Jueves 17 de Julio de 2008, 02:53
Necesito realizar un programa que me codifique Hamming  y la respuesta me lo envia a un pc y también que me reciba la codificación
El programa lo necesito en Visual Basic
Agrazdeco a quien me pueda ayudar, lo necesito con urgencia[/size]
Título: Re: Codificación Hamming
Publicado por: RadicalEd en Jueves 17 de Julio de 2008, 18:29
Código Hamming (http://es.wikipedia.org/wiki/C%C3%B3digo_Hamming)
Acá puedes averiguar sobre código hamming.
Título: Re: Codificación Hamming
Publicado por: cpmario en Viernes 18 de Julio de 2008, 02:53
Revisa la página siguiente:

http://www.planet-source-code.com/vb/sc ... 6&lngWId=1 (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=21306&lngWId=1" onclick="window.open(this.href);return false;)

 :comp:
Título: Re: Codificación Hamming
Publicado por: DIDA en Viernes 18 de Julio de 2008, 03:05
señores muchas gracias por sus recomendaciones las revisare, pero igual sigo recibiendo sus recomendaciones.
nuevamente muchas gracias
Título: Re: Codificación Hamming emulador RAID 2
Publicado por: tito_rocabado en Lunes 19 de Octubre de 2009, 15:05
Proyecto Base de Datos
Emulación del nivel RAID2

#include <stdlib.h>
#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <string.h>
#include <fstream.h>

using namespace std;

int num_bytes;
int bytes_malos;

int error_disco1;
int error_disco2;
int error_disco3;

void fragmentar(string archorigen, string archdestino1 ,string archdestino2 ,string archdestino3 ,string archdestino4)

{
    ifstream origen(archorigen.c_str(), ios::binary);
    char linea[1];
   
    if(origen.fail())
    cerr << "Error al abrir el archivo "<<archorigen << endl;
    else
    {
        ofstream destino1(archdestino1.c_str(), ios::binary|ios::trunc);
        ofstream destino2(archdestino2.c_str(), ios::binary|ios::trunc);
        ofstream destino3(archdestino3.c_str(), ios::binary|ios::trunc);
        ofstream destino4(archdestino4.c_str(), ios::trunc);
       
        if(destino1.fail())
        cerr << "Error al crear el archivo destino1"<< endl;
        else
        {
            while(!origen.eof()&&!origen.fail())
            {
                //escritura en primer disco
                origen.read(linea, sizeof(linea));
                if(origen.good())
                {
               
                    cout<<"-";
                    destino4.put('-');    
                    num_bytes++;
                   
                    destino1.write(linea, sizeof(linea));
                    if(destino1.fail())
                    {
                        //cerr << "Error en el archivo destino1"<< endl;
                        cout<<"X";  
                        destino4.put('x');  
                        bytes_malos++;
                        error_disco1++;
                    }
                }
                else if(!origen.eof())
                {
                    cerr << "Error en el archivo origen"<< endl;
                }
                //scritura en segundo disco
                origen.read(linea, sizeof(linea));
               
                if(origen.good())
                {
                    cout<<"-";
                    destino4.put('-');
                    num_bytes++;
                    destino2.write(linea, sizeof(linea));
                    if(destino2.fail())
                    {
                        //cerr << "Error en el archivo destino1"<< endl;
                        cout<<"x";
                        destino4.put('x');
                        bytes_malos++;
                        error_disco2++;
                    }
                }
                else if(!origen.eof())
                {
                    cerr << "Error en el archivo origen"<< endl;
           
                }
                //escritura en tercer disco
                origen.read(linea, sizeof(linea));
                if(origen.good())
                {
                    cout<<"-";
                    destino4.put('-');
                    num_bytes++;
                    destino3.write(linea, sizeof(linea));
                    if(destino3.fail())
                    {
                        //cerr << "Error en el archivo destino1"<< endl;
                        cout<<"x";
                        destino4.put('x');
                        bytes_malos++;
                        error_disco3++;
                    }
                }
                else if(!origen.eof())
                {
                    cerr << "Error en el archivo origen"
                      << endl;
                }                  
            }
        }
        destino1.close();
        destino2.close();
        destino3.close();
        destino4.close();
    }
    origen.close();

    getch();
}

void desfragmentar(string archorigen1, string archorigen2 ,string archorigen3, string archorigen4, string archdestino)
{
    ifstream origen1(archorigen1.c_str(), ios::binary);
    ifstream origen2(archorigen2.c_str(), ios::binary);
    ifstream origen3(archorigen3.c_str(), ios::binary);
    ifstream origen4(archorigen4.c_str(), ios::binary);
   
    char linea[1];
   
    if(origen1.fail())
    //cerr << "Error al abrir el archivo "<<archorigen1 << endl;
    cout<<"X";
    else
    {
        ofstream destino(archdestino.c_str(), ios::binary|ios::trunc);
       
        if(destino.fail())
        cerr << "Error al crear el archivo destino1"<< endl;
        else
        {
            while(!origen1.eof()&&!origen2.eof()&&!origen3.eof())
            {
                //lectura del primer disco
                origen1.read(linea, sizeof(linea));
                cout<<"-";
                if(origen1.good())
                {
                    destino.write(linea, sizeof(linea));
                    if(destino.fail())
                    {
                        //cerr << "Error en el archivo destino1"<< endl;
                        cout<<"X";
                    }
                }
                else if(!origen1.eof())
                {
                    cerr << "Error en el archivo origen"<< endl;
                }
                //lectura del segundo disco
                origen2.read(linea, sizeof(linea));
                cout<<"-";
                if(origen2.good())
                {
                    destino.write(linea, sizeof(linea));
                    if(destino.fail())
                    {
                        cerr << "Error en el archivo destino"<< endl;
                        cout<<"X";
                    }
                }
                else if(!origen2.eof())
                {
                    cerr << "Error en el archivo origen 2"<< endl;
                }
                //escritura en tercer disco
                origen3.read(linea, sizeof(linea));
                cout<<"-";
                if(origen3.good())
                {
                    destino.write(linea, sizeof(linea));
                    if(destino.fail())
                    {
                        //cerr << "Error en el archivo destino"<< endl;
                        cout<<"X";
                    }
                }
                else if(!origen3.eof())
                {
                    cerr << "Error en el archivo origen" << endl;
                }
            }
        }
        destino.close();      
    }
     origen1.close();
     origen2.close();
     origen3.close();
     origen4.close();

    getch();
}

int main()
{
    string archivo;
    cout<<"introduzca nombre de un archivo con su extension"<<endl;
    cin>>archivo;
    string disco1="disco1.txt";
    string disco2="disco2.txt";
    string disco3="disco3.txt";
    string disco4="control.txt";
   
    string recuperado="recuperado.txt";
   
    num_bytes=0;
    cout<<"presione una tecla para desfragmentar"<<endl;
    getch();
    fragmentar(archivo,disco1,disco2,disco3,disco4);
    cout<<endl<<"Se fragmento el archivo con los siguientes resultados:"<<endl;
    cout<<"numero de bytes copiados: "<<num_bytes<<endl;
    cout<<"numero de bytes malos: "<<bytes_malos<<endl;
    cout<<"numero errores en disco1 : "<<error_disco1<<endl;
    cout<<"numero errores en disco2 : "<<error_disco2<<endl;
    cout<<"numero errores en disco3 : "<<error_disco3<<endl;    
    cout<<"se crearon las copias de seguridad"<<endl<<endl;
    cout<<"presione una tecla para recuperar la informacion"<<endl;
    getch();
    cout<<"desfragmentando"<<endl;
    desfragmentar(disco1,disco2,disco3,disco4,recuperado);
    cout<<endl<<"desfragmentando terminado"<<endl;
    getch();
    return 0;
}
Título: Re: Codificación Hamming
Publicado por: Nebire en Martes 20 de Octubre de 2009, 18:48
Bienvenido al foro a pesar de tu mala entrada...

1 - Has resucitado un post de hace 15 meses. Los post antiguos sólo deben ser resucitados por quienes hacen preguntas sobre el mismo no alguien que va a responder a alguien que no está  a la escucha.

2 - El foro es de Visual Basic, no de C, es imperativo si se pone código que éste sea en VB, preciamente existen foros de diferentes lengujaes para que esto sea así.