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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: [1] 2 3 4
1  Programación / Programación C/C++ / Re: Problema con vectores en C en: 26 Mayo 2011, 03:24 am
justamente ahi esta el problema lo que pasa que vec no tiene valores asignados por lo tanto cuando vos haces
Código
  1. " if (vec[x]==vimpar[x]) "
estas comparando el contenido de vec
  • que no es nada es basura porque jamas se le asigno nada con el contenido de vimpar
  • que si se lo havias asignado
2  Programación / Programación C/C++ / Re: Problema con vectores en C en: 26 Mayo 2011, 01:15 am
no entiendo mucho lo que estas haciendo
Código
  1.        for(y=0,i=0,x=0;x<10;x++)
  2.        {
  3.            if (vec[x]==vimpar[x])// vec no tiene otra cosa que basura para que comparar??
  4.            {
  5.                vec[i++]=vimpar[x];
  6.  
  7.            }
  8.            else
  9.            {
  10.                vec[i++]=vpar[x];
  11.  
  12.            }
  13.  
  14.         }

3  Programación / Programación C/C++ / Re: Error con vectores! en: 23 Mayo 2011, 00:02 am
bueno te posteo el codigo corregido esto  anda 10 puntos

Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. int main()
  5. {
  6.    int vec[10],vpar[5],vimpar[5];
  7.    int n1,j,i,k, cont=0;
  8.  
  9.    //---------CARGA DEL VECTOR------------- //  
  10.         for(j=0;j<10;j++)
  11.        {
  12.           printf("Ingrese vector:");
  13.           scanf("%i",&n1);
  14.           vec[j]=n1;
  15.  
  16.         }
  17.    //---------EVALUA CONTENIDO DEL VECTOR------------- //          
  18.  
  19.        for(j=0, i=0, k=0;j<10;j++)
  20.        {
  21.            if((vec[j]%2)==0)
  22.               {
  23.                 vpar[k++]= vec[j];          
  24.               }
  25.            else
  26.            {vimpar[i++]= vec[j];}
  27.         }
  28.  
  29.    //---------IMPRIME DATOS DEL VECTOR------------- //          
  30.         printf("Los pares son:\n");
  31.         for(j=0;j<5;j++)
  32.         {
  33.           printf(" %i ||",vpar[j]);
  34.         }
  35.          printf("\n");
  36.          printf("Los impares son:\n");          
  37.          for(i=0;i<5;i++)
  38.         {
  39.           printf(" %i ||",vimpar[i]);
  40.  
  41.         }
  42.  
  43.         scanf("%d",&n1);
  44.         printf("\n");
  45.    return 0;
  46. }
  47.  
  48.  

el problema principal era en esta parte

Código
  1.  
  2. for(j=1;j<11;j++) //el for que ya lo havias corrgido
  3.        {
  4.            if((j%2)==0) /* dividis por 2 a la variable cuando enverdad deberias   dividir el contenido del vector ej: vec[i]   */
  5.               {
  6.                 vpar[j]= vec[j];      /* vpar tiene menos elementos que vec por lo tanto se produce un error de desbordamiento nesesitas una variable aparte que corra tanto vpar como vimpar  */    
  7.               }
  8.            else
  9.            {vimpar[j]= vec[j];}
  10.  





 
4  Programación / Programación C/C++ / Re: Avanzar la posicion apuntada por un puntero en: 25 Mayo 2010, 20:31 pm
haciendo simplemente ptr++ pasarias a la siguiente posición pero no seria "0x57743"  sino que 0x57746 ya que como ptr es un puntero a int acupa 4 byte
por lo tanto iria de 4 en 4 , si lo harias con char iria de 0x57742 a 0x57743


Saludos      
5  Programación / Programación C/C++ / Re: [C] - Duda salida gcc en: 22 Mayo 2010, 21:33 pm
el prototipo de la función es este: void data_new_write(st_p, char *, int *);

pero cuando  definís su contenido pones esto:  void data_write(st_p P, char *path, int *error)


es lo mismo que pongas en el prototipo: void M (st_p, char *, int *)

y después pongas: void hola (st_p P, char *path, int *error){



 es decir no son iguales, tienen que serlo...
saludos


6  Programación / Programación C/C++ / Re: Leer archivos // Leer un dato en concreto en: 22 Mayo 2010, 01:35 am
hola
si el archivo lo creas como binario cosa que recomiendo  podes hacerlo con un solo puntero a FILE me explico...


supongamos que el archivo ya esta creado y nosotros queremos imprimir todo su contenido con las funciones fread  y fseek se podria hacer..


Código
  1.  
  2.     while (!feof(puntero_file))
  3. {
  4. fread(&variable_tipo_struct, sizeof(tipo_struct), 1, puntero_file)
  5. printf ("%s",variable_tipo_struct.nombre);
  6. printf ("%d",variable_tipo_struct.numero);
  7. //etc...
  8. }
  9.  
  10.  


donde el primer parametro de fread es la varialbe de tipo struct el seungo parametro es el tamaño de nuestro struct, el tercer elemento parametro es la cantidad, y el cuerto es el puntero a file
y si queres escribir en el fichero es = solo que antes llenas el struct con datos y despues usas la funcion fwrite de la misma menera que usas fread
solo que fwrite en vez de copiar los datos del archivo al struct copialos datos del struct al archivo


 Saludos



7  Programación / Programación C/C++ / Re: problema lectura de archivo en: 22 Mayo 2010, 01:04 am
por las dudas que te hallas referido a fgets para tratamiento de archivo seria muy parecido a como lo plantea AckeR sol oque suplantas stdin por el puntero FILE ejemplo:


Código
  1.  
  2.        fgets (buf,121,archivo); pasa a la siguiente linea y la copia en el buffer
  3. while(!feof(archivo))
  4. {
  5.  
  6.                puts(buff); //imprime lo que haya en el bufer  
  7.             fgets (buf,121,archivo); // pasa a la siguiente linea y la copia en el buffer
  8.  
  9. }
  10.  
  11.  

otra manera podria ser.


Código
  1.  
  2. while( fgets (buf,121,archivo))
  3. {
  4.  
  5.                puts(buff); //imprime lo que haya en el bufer  
  6.  
  7. }
  8.  
  9.  


Salduos
8  Programación / Programación C/C++ / Re: Cuando fgets ensucia el buffer :S en: 21 Mayo 2010, 02:16 am
 ;-)  OK!! :D
mil gracias por aclararme las dudas..

Saludos Cordiales
9  Programación / Programación C/C++ / Cuando fgets ensucia el buffer :S en: 21 Mayo 2010, 00:57 am
Hola a todos!!

bien recien haciendo unas pequeñas pruebas me di cuenta que en ciertas situaciones fgets con stdin... me ensucia el buffer mas especificamente cuando agrego mas caracteres de los que espera doy un ejemplo

Código
  1.  
  2. #include <stdio.h>
  3.  
  4. int main(int argc, char **argv)
  5. {
  6. char cad[5];
  7.  
  8.  
  9. fgets (cad, sizeof(cad), stdin); //si ingresamos "hola mundo"
  10. puts (cad);                           // imprime "hola"
  11. fgets (cad, sizeof(cad), stdin);// se lo saltea (buffer sucio)
  12. puts (cad);                          // imprime "mun"
  13.  
  14.  
  15. return 0;
  16.  
  17. }
  18.  
  19.  
  20.  


obviamente se puede solucionar haciendo que cad sea mas "grande" como de 120 caracteres, pero quisiera saber alguna manera de no recurrir a eso sino. evitar que el buffer quede sucio....
nada de fflush

EDITADO:
Bueno recién probando encontré que haciendo esto funciona :

Código
  1. setbuf(stdin,NULL);  
  2.  
 
aunque me vuele a que es algo parecido a fflush


espero respuestas, gracias!!!    



10  Programación / Programación C/C++ / Re: [C] - Duda estructuras en: 20 Mayo 2010, 23:54 pm
seee.. lo podes hacer tanto así como directamente en el scanf


Código
  1.  
  2. scanf ("%d" &f.numero);
  3.  
  4.  

o si nosotros pasamos por referencia el struct se haria

Código
  1.  
  2. void ejemplo ( struct nom_del_struct *p )
  3.  
  4. scanf ("%d" &p->numero);
  5.  
  6.  

osea se utilaza  "->" en vez de de "."

saludos!!
Páginas: [1] 2 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines