comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] C++ Problema al ingresar elementos a un arreglo

  • 2 Respuestas
  • 989 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 237
  • Actividad:
    3.33%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« en: Abril 11, 2015, 07:56:11 pm »
Buenas ;D

Resulta que tengo un ejercicio, pero no funciona como debería  ::) el asunto es que necesito que de cierto rango de enteros ingresarlos a diferentes arreglos dependiendo si es par o no.

Código: C++
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     bool esPar(int);
  8.     void mostrarArreglo(int arreglo[], int tam);
  9.     int pares[20], nones[20];
  10.     int i, j;
  11.  
  12.     for(i = 5, j=0; i<=100; i = i+5, j++)
  13.     {
  14.         if(esPar(i) == true)
  15.         {
  16.             pares[j] = i;
  17.         }
  18.         else
  19.         {
  20.             nones[j] = i;
  21.         }
  22.  
  23.     }
  24.  
  25.     mostrarArreglo(pares,20);
  26.     return 0;
  27. }
  28.  
  29. bool esPar(int x)
  30. {
  31.     if(x%2 == 0)
  32.     {
  33.         return true;
  34.     }
  35.     else
  36.     {
  37.         return false;
  38.     }
  39. }
  40.  
  41. void mostrarArreglo(int arreglo[], int tam){
  42.   for (int i = 0 ; i < tam ; i++)
  43.     cout << arreglo[i] << ", ";
  44. }
  45.  
  46.  

Cuando lo ejecuto parece que el arreglo realmente nunca se llena y me muestra los datos basura del buffer.
Gracias por los comentarios :D
Zalu2

PD: No sé porqué lo movieron del subforo de c++ pero bueno  :-\
« Última modificación: Abril 13, 2015, 02:24:46 am por Gabriela »
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado /d3v/nu11

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Abril 11, 2015, 09:49:32 pm »
Hay tienes compañero.
Código: C++
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. bool esPar(int x){
  6.     if(x%2 == 0){
  7.         return true;
  8.     }
  9.     else{
  10.         return false;
  11.     }
  12. }
  13.  
  14. void mostrarArreglo(int arreglo[], int tam){
  15.     for (int i = 0 ; i < tam ; i++)
  16.         cout << arreglo[i] << " ";
  17. }
  18.  
  19. int main(){
  20.     int pares[20] = {0};
  21.     int nones[20] = {0};
  22.     int i, j;
  23.  
  24.     for(i = 5, j=0; i<=100; i += 5, j++){
  25.         if(esPar(i) == true){
  26.             pares[j] = i;
  27.         }
  28.         else{
  29.             nones[j] = i;
  30.         }
  31.     }
  32.  
  33.     cout << "Arreglo de numeros pares: ";
  34.     mostrarArreglo(pares, 20);
  35.     cout << endl;
  36.     cout << "Arreglo de numeros impar: ";
  37.     mostrarArreglo(nones, 20);
  38.     return 0;
  39. }
  40.  
Lo único que debías hacer era inicializar a 0 los arreglos, para que estos no almacenasen ningún valor "basura".

Un saludo!!


Piensa por ti mismo y cuestiona a la autoridad.

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 237
  • Actividad:
    3.33%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #2 en: Abril 13, 2015, 01:42:36 am »
Gracias por la ayuda  ;D eso de estar acostumbrado a otros lenguajes se me olvida este tipo de cosas  :o

Lo modifiqué al último un poco y quedo así:

Código: C++
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main(){
  6.  
  7.     bool esPar(int);
  8.     void mostrarArreglo(int[], int);
  9.  
  10.     int pares[20] = {NULL};
  11.     int nones[20] = {NULL};
  12.     int i, j=0 , k=0;
  13.  
  14.     for(i = 5; i<=100; i += 5){
  15.         if(esPar(i) == true)
  16.         {
  17.             pares[j++] = i;
  18.  
  19.         }
  20.         else
  21.         {
  22.             nones[k++] = i;
  23.         }
  24.     }
  25.  
  26.     cout << "Arreglo de numeros pares: ";
  27.     mostrarArreglo(pares, j);
  28.     cout << endl;
  29.     cout << "Arreglo de numeros impar: ";
  30.     mostrarArreglo(nones, k);
  31.  
  32.  
  33.     return 0;
  34. }
  35.  
  36. bool esPar(int x){
  37.     if(x%2 == 0){
  38.         return true;
  39.     }
  40.     else{
  41.         return false;
  42.     }
  43. }
  44.  
  45. void mostrarArreglo(int arreglo[], int tam){
  46.     for (int i = 0 ; i < tam ; i++)
  47.         cout << arreglo[i] << " ";
  48. }
  49.  

Espero que a alguien le sirva  :D

Zalu2!
Escuela de Hackers & Programación.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 6987
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1588
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2181
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 2838
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3413
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon