Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Phantom2332 en 3 Noviembre 2017, 11:07 am



Título: Ayuda codigo c
Publicado por: Phantom2332 en 3 Noviembre 2017, 11:07 am
Buenas necesito clasificar los numeros de un arreglo en pares e impares en principio se que después del for iría un if pero no se como seguir planteandolo,supongo que necesitaría 3 arreglos y un solo contador,o serían más, los arreglos tienen siempre un valor indicado por el usuario

Gracias de antemano
Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5. int numeros[6] ={ 1,2,3,4,5};
  6. int i;
  7. int pares [6];
  8. int impares[6];
  9. for (i=0,i<=6,i++ )
  10. {
  11. pares[6]=numeros[6]%2==0;
  12. impares[6]=numeros[6]%2¡=0;
  13. }
  14. printf("los pares son:%d",pares[6]);
  15. printf("los imp son %d",impares[6]);
  16.  
  17. return 0;
  18. }


Título: Re: Ayuda codigo c
Publicado por: JavierScars en 3 Noviembre 2017, 23:55 pm
Código
  1. for (i=0,i<=6,i++ )
  2. {
  3. pares[6]=numeros[6]%2==0;
  4. impares[6]=numeros[6]%2¡=0;
  5. }
  6. printf("los pares son:%d",pares[6]);
  7. printf("los imp son %d",impares[6]);
  8. }
  9.  

Esa parte esta totalmente mal...
Al hacer
Código
  1. pares[6]=numeros[6]%2==0;
  2. impares[6]=numeros[6]%2¡=0;
  3.  
Solo estas accediendo a una posición del array prohibida, recuerda que el array va de 0 a n-1. Ademas de eso lo que estas haciendo es sobrescribiendo este valor una y otra vez dentro del for.

Si lo que quieres es contar cuantos pares e impares hay la variable par e impar deberían ser enteros y hacer lo siguiente.
Código
  1. for (i=0,i<=6,i++ )
  2. {
  3. if(numeros[i] % 2 == 0)
  4. pares++;
  5.  
  6. else
  7. impares--;
  8. }
  9.  
Lo que hace ese fragmento de codigo es que itera entre cada uno de los elementos del array. Luego comprueba si son divisibles entre 0. Si es asi suma 1 a la variable pares de no ser asi suma uno a la variable impares.
Si lo que quieres es ir mostrando cuales son los valores pares o impares me temo que deberás crear una lista dinámica e iterar a través de ella, eso ya es mas complicado y creo que aun no estas a ese nivel.
Debes estudiar mas.

P.D: Para una desigualdad es "!=" no "¡="

Saludos~