Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mapers en 12 Noviembre 2010, 05:25 am



Título: unir dos vectores
Publicado por: mapers en 12 Noviembre 2010, 05:25 am
porque no puedo unir estos dos vectores si todo esta bien decalrado
Código
  1. #include<iostream.h>
  2. using std::cout;
  3. using std::endl;
  4. #include <ctime>
  5. #include <stdlib.h>
  6. #define TAM 100
  7.  
  8. int leer_arreglo(int A[],int n)
  9. {
  10.    for(int i=0;i<n;i++)
  11.    {
  12.    cin>>A[ i ];
  13.    cout<<"elemento numero"<<" "<<i+1<<"  "<<A[i]<<endl;
  14.  
  15.    }
  16.  
  17. }
  18.  
  19.  
  20. int leer_arreglo1(int B[],int n)
  21. {
  22.    for(int i=0;i<n;i++)
  23.    {
  24.    cin>>B[ i ];
  25.    cout<<"elemento numero"<<" "<<i+1<<"  "<<B[i]<<endl;
  26.  
  27.    }
  28.  
  29. }
  30.  
  31.  
  32. int unir(int A[],int B[],int C[],int m,int n)
  33. {
  34.    for(int i=0;i<n;i++)
  35.    {
  36.    C[i]=A[i];
  37.    }
  38.    for(int j=0;j<m;j++)
  39.    {
  40.    C[i++]=B[j];
  41.    }
  42.  
  43. cout<<"arreglo unido"<<endl;
  44.    for(i=0;i<m+n;i++)
  45.    {
  46.    cout<<"Elemento "<<"  "<<i+1<<" "<<C[i]<<endl;
  47.    }
  48. }
  49.  
  50.  
  51. int main()
  52. {
  53. int A[TAM],n=0,B[TAM],C[2*TAM],m=0;
  54.  
  55. cout<<"Nro de elemntos arreglo1 "<<endl;
  56. cin>>n;
  57. cout<<"Nro de elemntos  arreglo2"<<endl;
  58. cin>>m;
  59. leer_arreglo(A,n);
  60. leer_arreglo1(B,n);
  61. unir(A,B,C,m,n);
  62.  
  63.  
  64. }
  65.  
  66.  
  67.  
  68.  


Título: Re: unir dos vectores
Publicado por: raul338 en 12 Noviembre 2010, 11:12 am
NO tengo mucha idea, pero no te faltara el

using std::cin; // como cabecera?


Título: Re: unir dos vectores
Publicado por: satu en 12 Noviembre 2010, 13:09 pm
Hola mapers, veamos:

-Las funciones leer_arreglo y leer_arreglo1 hacen lo mismo, asi que una de las 2 la puedes borrar y haces las 2 llamadas a la misma funcion.
-main devuelve un entero
-Como bien dice raul338  te faltaria using std::cin; o puedes poner using namespace std en lugar de estas 3 lineas
-Utiliza iostream  y cstdlib sin la h
-La libreria ctime no la utilizas
-Guardas el tamaño del 2º vector en m y llamas a leer_arreglo1 con n

Por lo demás creo que está bien

Saludos


Título: Re: unir dos vectores
Publicado por: mapers en 12 Noviembre 2010, 16:30 pm
Código
  1. #include<iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. #define TAM 100
  6.  
  7. using std::cin;
  8. using std::cout;
  9. using std::endl;
  10.  
  11. int leer_arreglo(int A[],int n)
  12. {
  13.    for(int i=0;i<n;i++)
  14.    {
  15.    cin>>A[ i ];
  16.    cout<<"elemento numero"<<" "<<i+1<<"  "<<A[i]<<endl;
  17.  
  18.    }
  19.  
  20. }
  21.  
  22.  
  23. int leer_arreglo1(int B[],int n)
  24. {
  25.    for(int i=0;i<n;i++)
  26.    {
  27.    cin>>B[ i ];
  28.    cout<<"elemento numero"<<" "<<i+1<<"  "<<B[i]<<endl;
  29.  
  30.    }
  31.  
  32. }
  33.  
  34.  
  35. int unir(int A[],int B[],int C[],int m,int n)
  36. {
  37.    for(int i=0;i<n;i++)
  38.    {
  39.    C[i]=A[i];
  40.    }
  41.    int k=n;
  42.    for(int j=0;j<m;j++)
  43.    {
  44.    C[k++]=B[j];
  45.    }
  46. cout<<"Elementos Unidos"<<endl;
  47.    for(int l=0;l<m+n;l++)
  48.    {
  49.    cout<<"Elemento "<<"  "<<l+1<<" "<<C[l]<<endl;
  50.    }
  51. }
  52.  
  53.  
  54. int main()
  55. {
  56. int A[TAM],n=0,B[TAM],C[2*TAM],m=0;
  57.  
  58. cout<<"Nro de elemntos arreglo1 "<<endl;
  59. cin>>n;
  60. cout<<"Nro de elemntos  arreglo2"<<endl;
  61. cin>>m;
  62. cout<<"ingrese elemntos del  arreglo 1 "<<endl;
  63. leer_arreglo(A,n);
  64. cout<<"ingrese elemntos del  arreglo 2 "<<endl;
  65. leer_arreglo1(B,m);
  66. unir(A,B,C,m,n);
  67.  
  68.  
  69. }
  70.  
  71.  


Título: Re: unir dos vectores
Publicado por: satu en 12 Noviembre 2010, 18:36 pm
Hola

Asi mejor

Código
  1. #include<iostream>
  2. #include <cstdlib>
  3.  
  4. #define TAM 100
  5.  
  6. using std::cin;
  7. using std::cout;
  8. using std::endl;
  9. //Puedes sustituir las 3 lineas de mas arriba por:
  10. //using namespace std;
  11.  
  12. void leer_arreglo(int A[],int n)
  13. {
  14.  for(int i=0;i<n;i++)
  15.    {
  16.    cin>>A[ i ];
  17.    cout<<"elemento numero"<<" "<<i+1<<"  "<<A[i]<<endl;
  18.    }
  19. }
  20.  
  21.  
  22. void unir(int A[],int B[],int C[],int m,int n)
  23. {
  24.  int i;
  25.  for(i=0;i<n;i++)
  26.    C[i]=A[i];
  27.  
  28.  for(int j=0;j<m;j++)
  29.    C[i++]=B[j];
  30.  
  31.  cout<<"Elementos Unidos"<<endl;
  32.  for(i=0;i<m+n;i++)
  33.    cout<<"Elemento "<<"  "<<i+1<<" "<<C[i]<<endl;
  34. }
  35.  
  36.  
  37. int main()
  38. {
  39. int A[TAM],n=0,B[TAM],C[2*TAM],m=0;
  40.  
  41. cout<<"Nro de elemntos arreglo1 "<<endl;
  42. cin>>n;
  43. cout<<"Nro de elemntos  arreglo2"<<endl;
  44. cin>>m;
  45. cout<<"ingrese elemntos del  arreglo 1 "<<endl;
  46. leer_arreglo(A,n);
  47. cout<<"ingrese elemntos del  arreglo 2 "<<endl;
  48. leer_arreglo(B,m);
  49. unir(A,B,C,m,n);
  50.  
  51. return EXIT_SUCCESS; //Esto es muy importante
  52. }
  53.  
  54.  

Saludos