Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: miguelb18 en 20 Octubre 2010, 20:12 pm



Título: quien me ayuda con esta funcion?
Publicado por: miguelb18 en 20 Octubre 2010, 20:12 pm
hola... ya antes habia posteado algo parecido... ps quisiera saber quien me ayuda con la 3ra funcion... si pueden expliquenlo de la manera mas facil es que estoy empezando y no entiendo mucho estoy lo hice poco a poco... =)

#include <cstdlib>
#include <iostream>
#define MAX  10
using namespace std;
int cargar1 (float a[]);
int cargar3 (float b[]);
int cargar2 (float a[], float b[], float c[]);
int buscar (float a[], float k);
int main()
{

  int i=0;
  int k=0;
      float c[MAX];
      float b[MAX];
      float a[MAX];
  int seguir=1;
  int pos=-1;
   
   float buscarvalor;

   int opcion;
   
     do {
      cout<<"Proyecto De Programacion I\n";
      cout<<"\n1) LLenar array A";
      cout<<"\n2) Llenar array B";
      cout<<"\n3) Detectar duplicados";
      cout<<"\n4) Salir\n";
   
      cout<<"\nIndica la opcion:\n";
      cin>>opcion;
   
      switch (opcion){
       case 1:{
        cargar1 (a);
         break;}

       case 2:{
        cargar3 (b);
         break;}

       case 3:{
        cargar2 (a,b,c);
        break;
       }
       default:{
         if (opcion != 4){
            cout<<"Su opcion no esta disponible\n";
            cout<<"Intentelo con otra 1, 2 , 3 o 4 \n";
         }
      }
      }
   }while (opcion != 4);

return 0;
}


int cargar1 (float a[])
{int i;
     for (i=0; i<10; i++)
        {cout<<"Indique un numero de un digito";
         cin>>a;
         }
    return 0;
          }

int cargar3 (float b[])
{int i;
     for (i=0; i<10; i++)
        {cout<<"Indique un numero de un digito";
         cin>>b;
         }
    return 0;
         }

int cargar2(float a[], float b[], float c[])
{int i;
 int j=0;
    for (i=0;i<100;i++){
      for (j=0;j<100;j++){
      if ('a' == 'b[j]')
         {a=c;
         cin>>c;}
         }
         }
    return 0;
}


Título: Re: quien me ayuda con esta funcion?
Publicado por: satu en 20 Octubre 2010, 20:29 pm
Hola

 -1º utiliza la etiqueta GeSHi
 -2º ¿qué quieres que haga la función?
 -3º
Código
  1. if ('a[i]' == 'b[j]') //sin las comillas puede que funcione

Eso es lo que he visto

Saludos


Título: Re: quien me ayuda con esta funcion?
Publicado por: miguelb18 en 20 Octubre 2010, 20:30 pm
ps el programa en si es un menu, la primera opcion carga 10 numeros en un arreglo, la segunda funcion carga otros 10 numeros en otro arreglo y la tercera me carga en un tercer arreglo los numeros que estan repetidos en el 1ro y el 2do... crees que este bien? y para que es la etiqueta GeShi?


Título: Re: quien me ayuda con esta funcion?
Publicado por: satu en 21 Octubre 2010, 10:26 am
Hola

GeSHi sirve para que se vea bien el código, igual que en un IDE, tu código sería
Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #define MAX  10
  4. using namespace std;
  5. int cargar1 (float a[]);
  6. int cargar3 (float b[]);
  7. int cargar2 (float a[], float b[], float c[]);
  8. int buscar (float a[], float k);
  9. int main()
  10. {
  11.  int i=0;
  12.  int k=0;
  13.  float c[MAX];
  14.  float b[MAX];
  15.  float a[MAX];
  16.  int seguir=1;
  17.  int pos=-1;
  18.  float buscarvalor;
  19.  int opcion;
  20.  do {
  21.    cout<<"Proyecto De Programacion I\n";
  22.    cout<<"\n1) LLenar array A";
  23.    cout<<"\n2) Llenar array B";
  24.    cout<<"\n3) Detectar duplicados";
  25.    cout<<"\n4) Salir\n";
  26.  
  27.    cout<<"\nIndica la opcion:\n";
  28.    cin>>opcion;
  29.  
  30.    switch (opcion){
  31.      case 1:{
  32.        cargar1 (a);
  33.        break;}
  34.  
  35.      case 2:{
  36.        cargar3 (b);
  37.        break;}
  38.  
  39.      case 3:{
  40.        cargar2 (a,b,c);
  41.        break;}
  42.  
  43.      default:{
  44.        if (opcion != 4){
  45.          cout<<"Su opcion no esta disponible\n";
  46.          cout<<"Intentelo con otra 1, 2 , 3 o 4 \n";
  47.        }
  48.      }
  49.    }
  50.  }while (opcion != 4);
  51.  
  52. return 0;
  53. }
  54.  
  55.  
  56. int cargar1 (float a[])
  57. {
  58.  int i;
  59.  for (i=0; i<10; i++)
  60.    {
  61.    cout<<"Indique un numero de un digito";
  62.    cin>>a[i];
  63.    }
  64.  return 0;
  65. }
  66.  
  67. int cargar3 (float b[])
  68. {
  69.  int i;
  70.  for (i=0; i<10; i++)
  71.    {
  72.    cout<<"Indique un numero de un digito";
  73.    cin>>b[i];
  74.    }
  75.  return 0;
  76. }
  77.  
  78. int cargar2(float a[], float b[], float c[])
  79. {
  80.  int i;
  81.  int j=0;
  82.  for (i=0;i<100;i++){
  83.    for (j=0;j<100;j++){
  84.      if ('a[i]' == 'b[j]')
  85.        {
  86.        a[i]=c[i];
  87.        cin>>c[i];
  88.        }
  89.      }
  90.    }
  91.  return 0;
  92. }
  93.  

Bien, errores:
  -Como te dije en mi mensaje anterior, en la última función el if debe ir sin comillas
  -En la última función tienes los bucles desde 0 hasta 100 y tus vectores son de 10 posiciones
  -Las funciones debes declararlas con los vectores por referencia
  -Tienes varias variables que no utilizas, eso no son errores pero son warnings
  -La función buscar no la tienes implementada y no la utilizas
  -En la última función tienes
Código
  1. a[i]=c[i];
Cuando debería ser
Código
  1. c[i]=a[i];
  -Tus funciones siempre devuelven 0, para eso declaralas void y que no devuelvan nada. (Esto no es un error)

No sé si me habré quedado algo atrás pero revisa esto

Saludos