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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error con vectores! (SOLUCIONADO)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error con vectores! (SOLUCIONADO)  (Leído 3,410 veces)
;c1v!c

Desconectado Desconectado

Mensajes: 151


Forma parte de esta comunidad gamer!!!


Ver Perfil WWW
Error con vectores! (SOLUCIONADO)
« en: 22 Mayo 2011, 22:39 pm »

Hola bueno estaba viendo un codigo viejo q tenia y me tira un error cuando se imprimen los vectores
pero en realidad nose cual es ya que antes andaba y ahora no.
Saludos

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

y me tira este error en la consola:


gcc VEC-5.c -o VEC-5
 ./VEC-5
Ingrese vector:1
Ingrese vector:2
Ingrese vector:3
Ingrese vector:4
Ingrese vector:5
Ingrese vector:6
Ingrese vector:7
Ingrese vector:8
Ingrese vector:9
Ingrese vector:0
Los pares son:
 11223844 || 7 || 134514160 || 9 || 0 ||
Los impares son:
 1 || 1818672 || 3 || -1076324776 || 5 ||


« Última modificación: 23 Mayo 2011, 17:47 pm por ;c1v!c » En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Error con vectores!
« Respuesta #1 en: 22 Mayo 2011, 22:56 pm »

El error están en la manera que recorres los arrays. Si declaras un array de tamaño 10, la primera posición es el 0 y la última es el 9. Tú estás recorriendo el array del 1 al 11 y produces un BufferOverflow.

Saludos.


En línea

;c1v!c

Desconectado Desconectado

Mensajes: 151


Forma parte de esta comunidad gamer!!!


Ver Perfil WWW
Re: Error con vectores!
« Respuesta #2 en: 22 Mayo 2011, 23:03 pm »

lo modifique como me digiste pero el error sigue!
lo coloque asi "for(j=0;j<10;j++)"
En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Error con vectores!
« Respuesta #3 en: 23 Mayo 2011, 00:00 am »

Tratá de re-postear el código cada vez que lo modificás así sabemos exactamente que es lo que modificaste.
También cambiaste la forma de recorrerlo en los arrays de 5 posiciones, no?
En línea

nicolasblues86

Desconectado Desconectado

Mensajes: 38



Ver Perfil
Re: Error con vectores!
« Respuesta #4 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.  





 
« Última modificación: 23 Mayo 2011, 00:04 am por nicolasblues86 » En línea

Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no
;c1v!c

Desconectado Desconectado

Mensajes: 151


Forma parte de esta comunidad gamer!!!


Ver Perfil WWW
Re: Error con vectores! (SOLUCIONADO)
« Respuesta #5 en: 23 Mayo 2011, 17:48 pm »

Perfecto, muchas gracias a todos!
Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Vectores eps en photoshop cs3 [SOLUCIONADO]
Diseño Gráfico
:ohk<any> 1 5,932 Último mensaje 24 Abril 2009, 15:33 pm
por Darioxhcx
vectores (solucionado)
Scripting
flony 0 2,410 Último mensaje 23 Junio 2010, 05:27 am
por flony
Problema con vectores en C [SOLUCIONADO]
Programación C/C++
;c1v!c 5 5,040 Último mensaje 19 Enero 2012, 18:40 pm
por ;c1v!c
Vectores (Solucionado)
Programación C/C++
Angel Zero 2 2,440 Último mensaje 3 Junio 2011, 06:56 am
por Angel Zero
Duda/Error sobre arrays (vectores)
Programación C/C++
Ikuza 1 1,878 Último mensaje 2 Diciembre 2015, 15:03 pm
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines