elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 40
211  Programación / ASM / traducir ensamblador a codigo maquina en: 26 Septiembre 2013, 23:42 pm
Saludos tengo que sacar el codigo maquina de este programa en ensamblador

pero tengo una instruccion que no entiendo como va

0806                 BCD0             DS.B       1
....
....
....
E017   ??????    lbeq                FIN0       ; digito BCD0
....
....
...

                      FIN0               stab  BCD0

pero no se cual es el codigo correcto que va en los ????? por que por un lado lbeq tiene codigo maquina 18 27 qq rr y stab tiene codigo maquina 7b hh ll, yo supuse que como al lado de lbeq tiene FIN0 pues que tenia que brincarme hasta esa intruccion. ya intente leer manuales de esto pero no los comprendo, si alguien me pudiera ayudar se lo agradeceria mucho
212  Programación / Programación C/C++ / problema con getc() en: 26 Septiembre 2013, 20:19 pm
Saludos

tengo el siguiente codigo que me tiene que leer un archivo de texto e imprimir cuantas veces aparece un caracter, para esto uso el fgetc para que vaya leyendo 1 por 1 pero no me imprime correctamente

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define MAX 100
  5.  
  6. int main()
  7. {
  8.    int i,tam,cont;
  9.    char nombre[MAX],archivo[MAX],car,opcion,*ptr;
  10.    FILE *fd,*ap;
  11.    printf("Dame el nombre del archivo: ");
  12.    fgets(nombre,MAX,stdin);
  13.    if ((ptr = strchr(nombre, '\n')) != NULL)
  14.       *ptr = '\0';
  15.    sprintf(archivo,"F:\\%s.txt",nombre);
  16.    ap = fopen("Archivo_producto","w");
  17.    if((fd = fopen(archivo,"r"))!=NULL)
  18.    {
  19.        printf("Elige una opcion\n");
  20.        printf("a) Comprimir archivo\n");
  21.        printf("b) Descomprimir archivo\n");
  22.        switch(opcion = getchar())
  23.        {
  24.            case 'A':case'a':
  25.               cont = 0;
  26.               fseek(fd,0,SEEK_END);
  27.               tam = ftell(fd);
  28.               fseek(fd,0,SEEK_SET);
  29.                   for(i=0;i <= tam;i++)
  30.                   {
  31.                       if((car = fgetc(fd))== 'd');
  32.                          cont++;
  33.                   }
  34.               printf("%d",cont);
  35.               break;
  36.            default:
  37.               printf("La opcion no existe\n");
  38.        }
  39.    }
  40.    else
  41.       printf("No se pudo abrir el archivo");
  42.    return 0;
  43. }
  44.  

de antemano gracias
213  Programación / Programación C/C++ / problema con sprintf() en: 25 Septiembre 2013, 19:02 pm
Saludos

Tengo el siguiente programa que le pide al usuario que ingrese el nombre de cualquier archivo que desee abrir y una vez que teclea el nombre se lo asigna a un arreglo que se llama archivo, para esto uso el sprintf, pero no se cual es el problema que aunque le ingreso un archivo que si existe me aparece que no se pudo abrir archivo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX 100
  4.  
  5. int main()
  6. {
  7.    int i,j;
  8.    char nombre[MAX],archivo[MAX];
  9.    FILE *fd;
  10.    printf("Dame el nombre del archivo: ");
  11.    fgets(nombre,MAX,stdin);
  12.    sprintf(archivo,"F:\\%s.txt",nombre);
  13.    if((fd = fopen(archivo,"r"))!=NULL)
  14.    {
  15.        printf("Si se pudo abrir archivo");
  16.    }
  17.    else
  18.       printf("No se pudo abrir el archivo");
  19.    return 0;
  20. }
  21.  

de antemano gracias
214  Programación / Programación C/C++ / serie de numeros en fichero en: 23 Septiembre 2013, 22:37 pm
Saludos tengo el siguiente codigo que mediante un for me tiene que imprimir 1000 numeros inversamente ordenados en un archivo con el mismo nombre, el problema es que me imprime basura en el archivo y no tengo idea de por que??

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int i;
  7.    FILE *fd;
  8.    if((fd = fopen("F:\\1000-Inversamente Ordenados.txt","w"))!=NULL)
  9.    {
  10.        for(i=1000;i > 0;i--)
  11.        {
  12.            fwrite(&i,sizeof(int),1,fd);
  13.            fwrite("\n",sizeof(int),1,fd);
  14.        }
  15.  
  16.    }
  17.    else
  18.       printf("No se pudo crear el archivo");
  19.    return 0;
  20. }
  21.  

de antemano gracias
215  Programación / Programación C/C++ / Re: analisis codigos de ordenamiento en: 22 Septiembre 2013, 19:33 pm
Saludos rir3760 ya le quite al codigo la libreria unistd.h, ya entendi que no es necesario usarla, pero con respecto al feof no tengo idea de que otra manera sustituirlo.le hice unos cambios al codigo para que en vez de que me imprimiera el vector ordenado en el archivo me imprima el numero de intercambios que se hacen en el metodo de ordenamiento pero me imprime una cantidad que no es en un arreglo  desordenado me dice que solo necesita un intercambio

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void Ordenacion_Burbuja(int v[],int n,FILE *fd);
  5. void analizar_Burbuja(char nombreArchivo[],FILE *fd,int n);
  6.  
  7. int main()
  8. {
  9.    FILE *fd;
  10.    if((fd = fopen("F:\\Analisis_algoritmos.txt","w"))!=NULL)
  11.    {/*
  12.         analizar_Burbuja("5-Ordenados",fd,5);
  13.         analizar_Burbuja("10-Ordenados",fd,10);
  14.         analizar_Burbuja("100-Ordenados",fd,100);
  15.         analizar_Burbuja("1000-Ordenados",fd,1000);
  16.         analizar_Burbuja("10000-Ordenados",fd,10000);
  17.         analizar_Burbuja("100000-Ordenados",fd,100000);
  18.         analizar_Burbuja("1000000-Ordenados",fd,1000000);*/
  19.  
  20.        analizar_Burbuja("5-Desordenados",fd,5);/*
  21.         analizar_Burbuja("10-Desordenados",fd,10);
  22.         analizar_Burbuja("100-Desordenados",fd,100);
  23.         analizar_Burbuja("1000-Desordenados",fd,1000);
  24.         analizar_Burbuja("10000-Desordenados",fd,10000);
  25.         analizar_Burbuja("100000-Desordenados",fd,100000);
  26.         analizar_Burbuja("1000000-Desordenados",fd,1000000);*/
  27.  
  28.    }
  29.    else
  30.       printf("No se pudo leer archivo");
  31.    return 0;
  32. }
  33.  
  34. void Ordenacion_Burbuja(int v[],int n,FILE *fd)
  35. {
  36.    int i,j,aux,intercambio=0;
  37.    for(i=1;i < n;i++)
  38.    {
  39.        for(j=0;j < n-i;j++)
  40.        {
  41.            if(v[j] > v[j+1])
  42.            {
  43.                aux = v[j+1];
  44.                v[j+1] = v[j];
  45.                v[j] = aux;
  46.                intercambio++;
  47.            }
  48.        }
  49.    }
  50.    fprintf(fd,"El numero de intercambios es %d",intercambio);
  51. }
  52.  
  53. void analizar_Burbuja(char nombreArchivo[],FILE *fd,int n)
  54. {
  55.    int i;
  56.    FILE *entrada;
  57.    int *arreglo;
  58.    char ruta[50];
  59.  
  60.    sprintf(ruta,"F:\\%s.txt",nombreArchivo);
  61.    puts(ruta);
  62.  
  63.    if((entrada = fopen(ruta,"r"))!=NULL)
  64.    {
  65.        arreglo = (int*)malloc(n*sizeof(int));
  66.        i = 0;
  67.        while(!feof(entrada))
  68.        {
  69.            fscanf(entrada,"%d",&arreglo[i]);
  70.            i++;
  71.        }
  72.        Ordenacion_Burbuja(arreglo,n,fd);
  73.    }
  74.    else
  75.       printf("No se pudo abrir archivo");
  76.  
  77. }
  78.  

de antemano gracias
216  Programación / Programación C/C++ / Re: analisis codigos de ordenamiento en: 21 Septiembre 2013, 22:48 pm
saludos rir3760 le hice algunos cambios al codigo le puse que me leyera los elemento que tengo en un archivo de texto y me los guardara en un arreglo que luego le voy a pasar a la funcion Ordenacion_burbuja para que me los ordene y en esa misma funcion con un fwrite le digo que me imprima en otro archivo el arreglo ya ordenado el problema es que me imprime basura en el archivo Analisis_algoritmos, que es el que cree para que se escribiera en el

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4.  
  5. void Ordenacion_Burbuja(long v[],long n,FILE *fd);
  6. void analizar_Burbuja(char nombreArchivo[],FILE *fd,long n);
  7.  
  8. int main()
  9. {
  10.    FILE *fd;
  11.    if((fd = fopen("F:\\Analisis_algoritmos.txt","w"))!=NULL)
  12.    {/*
  13.         analizar_Burbuja("5-Ordenados",fd,5);
  14.         analizar_Burbuja("10-Ordenados",fd,10);
  15.         analizar_Burbuja("100-Ordenados",fd,100);
  16.         analizar_Burbuja("1000-Ordenados",fd,1000);
  17.         analizar_Burbuja("10000-Ordenados",fd,10000);
  18.         analizar_Burbuja("100000-Ordenados",fd,100000);
  19.         analizar_Burbuja("1000000-Ordenados",fd,1000000);*/
  20.  
  21.        analizar_Burbuja("5-Desordenados",fd,5);/*
  22.         analizar_Burbuja("10-Desordenados",fd,10);
  23.         analizar_Burbuja("100-Desordenados",fd,100);
  24.         analizar_Burbuja("1000-Desordenados",fd,1000);
  25.         analizar_Burbuja("10000-Desordenados",fd,10000);
  26.         analizar_Burbuja("100000-Desordenados",fd,100000);
  27.         analizar_Burbuja("1000000-Desordenados",fd,1000000);*/
  28.  
  29.    }
  30.    else
  31.       printf("No se pudo leer archivo");
  32.    return 0;
  33. }
  34.  
  35. void Ordenacion_Burbuja(long v[],long n,FILE *fd)
  36. {
  37.    int i,j,aux;
  38.    for(i=1;i < n;i++)
  39.    {
  40.        for(j=0;j < n-i;j++)
  41.        {
  42.            if(v[j] > v[j+1])
  43.            {
  44.                aux = v[j+1];
  45.                v[j+1] = v[j];
  46.                v[j] = aux;
  47.            }
  48.        }
  49.    }
  50.    fwrite(v,sizeof(int),n,fd);
  51. }
  52.  
  53. void analizar_Burbuja(char nombreArchivo[],FILE *fd,long n)
  54. {
  55.    int i;
  56.    FILE *entrada;
  57.    long *arreglo;
  58.    char ruta[50];
  59.  
  60.    sprintf(ruta,"F:\\%s.txt",nombreArchivo);
  61.    puts(ruta);
  62.  
  63.    if((entrada = fopen(ruta,"r"))!=NULL)
  64.    {
  65.        arreglo = (long*)malloc(n*sizeof(long));
  66.        i = 0;
  67.        while(!feof(entrada))
  68.        {
  69.            fscanf(entrada,"%ld",&arreglo[i]);
  70.            i++;
  71.        }
  72.        Ordenacion_Burbuja(arreglo,n,fd);
  73.    }
  74.    else
  75.       printf("No se pudo abrir archivo");
  76.  
  77. }
  78.  

de antemano gracias
217  Programación / Programación C/C++ / Re: imprimir basura en: 21 Septiembre 2013, 00:07 am
Saludos eferion ya pude por fin descubrir cual era el error, y es uno bien tonto porque cuando declare el vector lo declare como v[10] cuando en realidad le estaba diciendo que queria un vector con 11 elementos, que idiota!!

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void Shell_Sort(int v[],int n);
  5.  
  6. int main()
  7. {
  8.    int v[11],i,n;
  9.    printf("Dame el numero de elementos del vector: ");
  10.    scanf("%d",&n);
  11.    for(i=0;i < n;i++)
  12.    {
  13.        printf("Dame el elemento %d\n",i+1);
  14.        scanf("%d",&v[i]);
  15.        system("cls");
  16.    }
  17.    Shell_Sort(v,n);
  18.    for(i=0;i < n;i++)
  19.       printf("[%d]",v[i]);
  20.    return 0;
  21. }
  22.  
  23. void Shell_Sort(int v[],int n)
  24. {
  25.    int i,j,k,aux,m;
  26.    k = n/2;
  27.    for(i=0;i < k;i++)
  28.    {
  29.        for(j=i+k;j < n;j+=k)
  30.        {
  31.            m = j;
  32.            while(m > i)
  33.            {
  34.                if(v[m] < v[m-k])
  35.                {
  36.                    aux = v[m];
  37.                    v[m] = v[m-k];
  38.                    v[m-k] = aux;
  39.                }
  40.                m-=k;
  41.            }
  42.        }
  43.    }
  44.  
  45. }
  46.  

gracias de todos modos
218  Programación / Programación C/C++ / Re: imprimir basura en: 20 Septiembre 2013, 16:38 pm
el codigo es el siguiente:

Código
  1. void ordenamiento(int v[],int n)
  2. {
  3.    int i,j,k;
  4.    k = n/2;
  5.    for(i=0;i < 1;i++)
  6.    {
  7.        for(j=i+k;j < n;j=j+k)
  8.        {
  9.            printf("%d\t",v[i]);
  10.            printf("%d\t",v[j]);/*
  11.             if(v[i] > v[j])
  12.             {
  13.                 aux = v[i];
  14.                 v[i] = v[j];
  15.                 v[j] = aux;
  16.             }*/
  17.        }
  18.    }
  19. }

219  Programación / Programación C/C++ / imprimir basura en: 20 Septiembre 2013, 06:01 am
Saludos tengo el siguiente arreglo de 11 elementos

74,14,21,44,38,97,11,78,65,88,30  y quiero que me imprima el primer elemento (74), el quinto (97) y el 30 que es el ultimo, todo esto porque estoy empezando un metodo de ordenamiento pero no lo he terminado, el problema es que aunque si me imprime el primero y el quinto en el ultimo me imprime basura, en vez de imprimir el 30 me imprime 31 y no se por que

Código
  1. void  arreglo(int v[],int n)
  2. {
  3.    int i,j,k;
  4.    k = n/2;
  5.    for(j=0;j <= k;j+=k)
  6.    {
  7.        if(v[j] < v[j+k])
  8.        {
  9.            printf("[%d]",v[j]);
  10.            printf("[%d]",v[j+k]);
  11.        }
  12.        else
  13.        {
  14.            printf("[%d]",v[j]);
  15.            printf("[%d]",v[j+k]);
  16.        }
  17.    }
  18. }

de antemano gracias

 
220  Programación / Programación C/C++ / Re: analisis codigos de ordenamiento en: 20 Septiembre 2013, 02:27 am
xiruko yo tambien pensaba que con la funcion rand() seria todo mas facil, pero el profesor me dijo que tengo que utilizar archivos ordenados, inversamente ordenados y aleatorios, de 10, 100,1000,10000,100000,1'000,000, y ps como las cantidades son tan grandes no puedo ingresarle numero por numero y como son ordenadas y no solo aleatorias no puedo usar el rand(),voy a tener que usar archivos, pero yo todavia estoy muy verde en eso.

Estaba pensando que en un archivo.txt meterle los numeros y despues irlos leyendo o algo asi pero la verdad no se muy bien como le voy a hacer

Creo que la cosa va mas o menos asi:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4.  
  5. typedef struct
  6. {
  7.    int numero;
  8. }Arreglo;
  9.  
  10. void Ordenacion_Burbuja(int v[],int n);
  11.  
  12. int main()
  13. {
  14.    FILE *fd;
  15.    Arreglo arreglo[5];
  16.    if((fd = fopen("F:\\Analisis_algoritmos","r"))!=NULL)
  17.    {
  18.        Ordenacion_Burbuja(arreglo,5);
  19.        Ordenacion_Burbuja(arreglo,10);
  20.        Ordenacion_Burbuja(arreglo,100);
  21.        Ordenacion_Burbuja(arreglo,1000);
  22.        Ordenacion_Burbuja(arreglo,10000);
  23.        Ordenacion_Burbuja(arreglo,100000);
  24.        Ordenacion_Burbuja(arreglo,1000000);
  25.    }
  26.    return 0;
  27. }
  28.  
  29. void Ordenacion_Burbuja(int arreglo[],int n)
  30. {
  31.    int i,j,aux;
  32.    for(i=1;i < n;i++)
  33.    {
  34.        for(j=0;j < n-i;j++)
  35.        {
  36.            if(v[j] > v[j+1])
  37.            {
  38.                aux = v[j+1];
  39.                v[j+1] = v[j];
  40.                v[j] = aux;
  41.            }
  42.        }
  43.    }
  44.    for(i=0;i < MAX;i++)
  45.       printf("[%d]",v[i]);
  46. }
  47.  

gracias por su ayuda
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 40
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines