Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]

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 (cpp) [Seleccionar]

#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[i];
    }
  return 0;
}

int cargar3 (float b[])
{
  int i;
  for (i=0; i<10; i++)
    {
    cout<<"Indique un numero de un digito";
    cin>>b[i];
    }
  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[i]' == 'b[j]')
        {
        a[i]=c[i];
        cin>>c[i];
        }
      }
    }
  return 0;
}


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 (cpp) [Seleccionar]
a[i]=c[i];
Cuando debería ser
Código (cpp) [Seleccionar]
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