elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda por favor en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda por favor en c++  (Leído 1,486 veces)
olvin

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda por favor en c++
« en: 18 Noviembre 2012, 18:35 pm »

necesito ayuda con este ejercicio,,, yo lo hice pero me falta terminarlo,, y lo que me falta es encontrar los que estan en A y no en B y viceversa
si alguien me ayuda porfa lo necesito urgente;

abajo les dejo el problema; corranlo y ayudenme


#include <iostream>
#include <stdio.h>
//catedratica: Lic. Rosmery Corrales
//Examen de LENGUAJE 1;
//Alumno: Olvin Antonio Aguirre Ortez
//cuenta: 20111000091
//fecha: 01/11/2012
//objetivo: sacar los comunes de ambos vectores; ordenarlos eliminando los repetidos
//luego sacar los que estan en 'a' y no en 'b' y viceversa.
using namespace std;
int ordenados2(int a1[], int nuevo[], int tam);//aqui decalaramos una funcion para ordenar los dos vectores juntos y eliminar uno de los que se repiten
int ordenados(int a1[], int nuevo[], int tam);//aqui declaro que va a ver una funcion para ordenar cada vector por separado
//y eliminar los comunes de cada vector
int main(int argc, char *argv[]){
   int a[100]={0},b[100]={0},co[100]={0},comun[100]={0};
   int nuevoa[100]={0},nuevob[100]={0},nuevoc[100]={0};
   int l=0, max=0,c=0,i=0,j=0,m=0,indice=0;
   cout<<"INGRESE LA CANTIDAD DE ELEMENTOS A CONTENER CADA VECTOR"<<endl;
   cout<<"preferible no ingresar numeros repetidos en unn vecotor"<<endl;
   cout<<"======================================================="<<endl;
   cin>>l;
   cout<<""<<endl;
   cout<<"INGRESE LOS ELEMENTOS DEL VECTOR 'A'"<<endl;
   for(int i=0;i<l;i++){
      cin>>a;
   }
   max=ordenados(a,nuevoa,l);
   for(int i=0;i<max;i++){
      nuevoa;
   }
   nuevoa;
   cout<<""<<endl;
   cout<<"***************************************************"<<endl;
   cout<<""<<endl;
   cout<<"INGRESE LOS ELEMENTOS DEL VECTOR 'B'"<<endl;
   for(i=0;i<l;i++){
      cin>>b;   
   }
   max=ordenados(b,nuevob,l);
   for(i=0;i<max;i++){
   nuevob;
   }
   nuevob;
   cout<<""<<endl;
   
   for(i=0;i<max;i++){//yo ise un proceso de introducir los dos vectore en un solo arreglo
      c++;
      co[c]=nuevoa;
      c++;
      co[c]=nuevob;
      co;//arreglo con los dos vectores dentro de el
   }
   for(i=1;i<=max*2;i++){
      co;
      for(j=0;j<i;j++){
         if(co[j]==co)
            comun++;   
      }
   }
   cout<<""<<endl;
   cout<<"Los Comunes Del Vector 'A' y 'B' son: "<<endl;
   m=comun[0];
   for(i=1;i<max*2;i++){
      if(comun>m)
         m=comun;
      indice=i;
      for(indice=0;indice<comun;i++){
         cout<<""<<co<<endl;
      }
   }
   cout<<""<<endl;
   for(i=0;i<max*2;i++){
      co;
   }
   max=ordenados2(co,nuevoc,max*2);//llamamos a la funcion para ordenar los numeros y eliminar los repetidos
   cout<<"Dos vectores Ordenados Sin numeros Repetidos"<<endl;
   for(i=0;i<max;i++){
      cout<<", "<<nuevoc<<ends;//mandamos a imprimir los elementos de los dos vectores sin elementos repetidos   
   }
   cout<<""<<endl;
   cout<<""<<endl;
      for(int i=0;i<l;i++){
      a;
      }
   max=ordenados(a,nuevoa,l);
   for(int i=0;i<max;i++){
      nuevoa;
   }
   nuevoa;
   for(i=0;i<l;i++){
   b;   
   }
   max=ordenados(b,nuevob,l);
   for(i=0;i<max;i++){
   nuevob;
   }
   nuevob;
cout<<"Estan en A y no en B"<<endl;
   for(i=0;i<max;i++){
        cout<<","<<nuevoa<<ends;
}
      
   cout<<""<<endl;
   cout<<""<<endl;
   cout<<"Estan en 'B' y no en ,A,"<<endl;
   for(i=0;i<max;i++){
   cout<<","<<nuevob<<ends;
   }
   return 0;
}



int ordenados(int a1[], int nuevo[], int tam)//funcion para ordenar los numeros
{//y devolverlos sin los repetidos, este analiza vector por vector;
   int i, j,c = 0;
   int aux;
   bool repetido;//inicio una variable tipo logica de verdadero o falso
   
   for(i=0;i<tam-1;i++){//los ordenamos por el metodo burbuja
      for(j=0;j<tam-1;j++){
         if(a1[j]>a1[j+1]){
            aux=a1[j];
            a1[j]=a1[j+1];
            a1[j+1]=aux;
         }
      }
   }//aqui terminamos la ordenacion y en el siguiente proceso mandamos a eliminar los comunes
   for (i=0;i<tam;i++){//aqui eliminamos los comunes de cada vector
      for (j=0;j<c;j++){
         repetido = false;
         if (a1==nuevo[j]){
            repetido = true;
            break;
         }
      }
      if (!repetido){
         nuevo[c++] = a1;
      }
   }//aqui termina el proceso de eliminacion de repetidos
   
   return c;
}//aqui termina la funcion de eliminar los repetidos de cada vector
int ordenados2(int a1[], int nuevo[], int tam)//funcion para ordenar los numeros
{//y devolverlos sin los repetidos, este analiza vector por vector;
   int i, j,c = 0;
   int aux;
   bool repetido;//inicio una variable tipo logica de verdadero o falso
   
   for(i=0;i<tam;i++){//los ordenamos por el metodo burbuja
      for(j=0;j<tam;j++){
         if(a1[j]>a1[j+1]){
            aux=a1[j];
            a1[j]=a1[j+1];
            a1[j+1]=aux;
         }
      }
   }//aqui terminamos la ordenacion y en el siguiente proceso mandamos a eliminar los comunes
   for (i=0;i<=tam;i++){//aqui eliminamos los comunes de cada vector
      for (j=0;j<=c;j++){
         repetido = false;
         if (a1==nuevo[j]){
            repetido = true;
            break;
         }
      }
      if (!repetido){
         nuevo[c++] = a1;
      }
   }//aqui termina el proceso de eliminacion de repetidos
   
   return c;
}//aqui termina la funcion de eliminar los repetidos de cada vector


« Última modificación: 19 Noviembre 2012, 16:47 pm por olvin » En línea

bemone

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: ayuda por favor en c++
« Respuesta #1 en: 18 Noviembre 2012, 19:11 pm »

Recorres los dos arrays anidando dos iteraciones y comparas cada elemento del primer vector con todos los del 2do vector. Los que no encuentre los almacenas en un 3er vector


En línea

Odio los tipos de variable de Windows.
bemone

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: ayuda por favor en c++
« Respuesta #2 en: 21 Noviembre 2012, 22:46 pm »

Aca tengo un code que hice que muestra los numeros que mas se repiten.
Fijate si lo podes adaptar.

Código
  1. #include <utility>
  2. #include <vector>
  3. #include <iostream>
  4. #include <string>
  5. #include <fstream>
  6. #include <algorithm>
  7.  
  8. using namespace std;
  9.  
  10. ifstream entrada;
  11. ofstream salida;
  12. unsigned int nLineas, nIterador, i, j;
  13.  
  14. bool ordenar(const pair<string, int>& i, const pair<string, int>& j);
  15.  
  16. int main()
  17. {
  18.    entrada.open("nombres.in");
  19.    entrada >> nLineas;
  20.    entrada >> nIterador;
  21.  
  22.    vector < pair <string, int> > vNombres (nLineas);
  23.    vector <string> vPrincipal (nLineas);
  24.  
  25.    for(i=0; i<nLineas; i++){
  26.        entrada >> vPrincipal[i];
  27.        vNombres[i].first = vPrincipal[i];
  28.    }
  29.  
  30.    for(i=0; i<vPrincipal.size(); i++)
  31.        for(j=0; j<vPrincipal.size(); j++)
  32.            if(vNombres[i].first == vPrincipal[j])
  33.                vNombres[i].second += 1;
  34.  
  35.    sort(vNombres.begin(), vNombres.end(), ordenar);
  36.  
  37.    salida.open("nombres.out");
  38.    j = 0;
  39.    for(i=0; i<nIterador; i++){
  40.        salida << vNombres[j].first <<" ";
  41.        salida << vNombres[j].second;
  42.        salida << endl;
  43.        j += vNombres[j].second;
  44.    }
  45.  
  46.    entrada.close();
  47.    salida.close();
  48.  
  49.    return 0;
  50. }
  51.  
  52. bool ordenar(const pair<string, int>& i, const pair<string, int>& j){
  53.    return j.second < i.second ? true : false;
  54. }
  55.  
En línea

Odio los tipos de variable de Windows.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: ayuda por favor en c++
« Respuesta #3 en: 22 Noviembre 2012, 13:39 pm »

necesito ayuda con este ejercicio,,, yo lo hice pero me falta terminarlo,, y lo que me falta es encontrar los que estan en A y no en B y viceversa
Citar
Te pongo un ejemplo con dos arrays a y b y elimino los de a que estan en b y los guardo en a1. Análogamente sería para los de b que no esten en a. Eso sí, supongo que no hay repetidos en los arrays, si no fuera así habría que eliminar los repe de a1 y b1:
Código
  1. #include <stdio.h>
  2. #define N   5
  3. int main()
  4. {
  5.    int i,j,k=0,a[N]={1,2,3,4,5},b[N]={3,4,5,6,7},a1[N],b1[N];
  6.    for (i=0;i<N;i++){
  7.        for (j=0;j<N;j++){
  8.        if (a[i]==b[j])
  9.               a[i]=0;
  10.        }
  11.    }
  12.    for (i=0;i<N;i++){
  13.        if (a[i]!=0){
  14.        printf ("%d  ",a[i]);
  15.        a1[k]=a[i];k++; /*<== guardo en nuevo array los de a no estan en b*/
  16.        }
  17.    }
  18.    puts ("\n");
  19.    for (i=0;i<k;i++)
  20.         printf ("%d  ",a1[i]);
  21.    return 0;
  22. }
Saluditos!.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
SOS:AYUDA POR FAVOR!!!
Juegos y Consolas
wennam 2 3,189 Último mensaje 5 Enero 2004, 04:01 am
por FeRmO
AYUDA -.- ahora no entro más en 4chan (tengo una duda, ayuda por favor)
Foro Libre
Draklit 6 8,781 Último mensaje 15 Octubre 2010, 03:14 am
por Draklit
Ayuda por favor
Programación C/C++
Camiloher1961 1 1,850 Último mensaje 23 Mayo 2021, 22:56 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines