Programación General > C++ Builder

 quien puede corregirme este programa en c++

<< < (2/2)

m0skit0:
No te preocupes que miraré el foro para responderte. Esto es una comunidad, no una web de citas  :lol:  ^_^

miguelb18:
y ejecutando una funcion asi lo estoy haciendo mejor? aun no me da pero me parece que es un poco mejor que la otra...

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

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

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

       case 3:{
        buscar (a,b,c);
        break;
       }
       default:{
         if (opcion != 4){
            cout<<"Su opcion no esta disponiblen";
            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<<"nIndique un numero de un digito:nn";
         cin>>a;
         }
    return 0;
          }

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

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

m0skit0:
Hombre, ahora ya vas por el bien camino  ^_^

Formatea tu código en condiciones y utiliza las etiquetas de código, tal que así:


--- Código: C ---int buscar (float a[], float b[], float c[]){    int i,j;    for (i=0;i<10;i++){        for (j=0; j<10;j++){            if (a[i] == b[j]){                a[i] = c[i];                cin>>c[i];            }        }    }    return 0;} si no, no hay quien lea eso. Por favor, intenta ponerlo así de ahora en adelante.

Bueno, veo que has puesto bucles anidados, que sin duda es la solución más sencilla. Lo que no entiendo es por qué guardas el valor de c en a (a = c;) cuando lo que debes hacer es guardar el valor de a en c (al revés).

cin>>c; no viene mucho a cuento, no sé qué intentas hacer con ello.

Y finalmente, como ya te comenté anteriormente, necesitas otro índice más (aparte de i y j) para recorrer c, ya que no tiene porqué ir a la par de a (aunque puede ocurrir en algún caso aislado).

Saludos, que ya estás a las puertas del éxito.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa