Título: ayuda por favor en c++ Publicado por: olvin 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 Título: Re: ayuda por favor en c++ Publicado por: bemone 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
Título: Re: ayuda por favor en c++ Publicado por: bemone 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
Título: Re: ayuda por favor en c++ Publicado por: leosansan 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 Saluditos!. |