Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - tokyo13

#1
Estoy aprendiendo c++ y no consigo hacer la intersección de dos vectores que ya tengo. Alguien me puede echar una mano?
Ty
void interseccionNoOrdenado(int vector1[], int medida1, int vector2[], int medida2, int vectorResult[], int& medidaResult)
{
     //inicializamos vectorResult
    for(int i = 0; i <= medida1; i++){
        vectorResult[i] = vector1[i];
    }
    midaResult = medida1;
   
    //ordenamos vector2
   
    int tmp;
    for(int i = 0; i <= (medida2-1); i++){
        for(int j = 0; j <= medida2-i-1; j++){
            if(vector2[j] >= vector2[j+1]){
                tmp = vector2[j];
                vector2[j] = vector2[j+1];
                vector2[j+1] = tmp;
            }
        }
    }
   
    //buscamos valores comunes de vector2 y vectorResultat
    for(int i = 0; i <= medida1; i++){
        if(!buscaElemento(vector2, medida2, vectorResult[i])){ //función devuelve si un num está en un vector
            eliminaElemento(vectorResult, medidaResult, i);//elimina elemento y lo desplaza todo derecha
            medidaResult--;
            i--;
        }
    }
#2
De momento llevo esto, el programa compila y ejecuta pero el resultado obtenido no es el correcto y no encuentro el error. Soy principiante en programación  ;D

#include <iostream>
using namespace std;

bool esPerfecte(int num)
{
int div;
int suma = 0;

for (div = 1; div <= num; div++)
{
if (num%div == 0)
{
suma = suma + div;

}
}

if (suma == num)
{

return true;
}
else
{

return false;
}

}

int main()
{
int n;
cout << "Introduce un numero" << endl;
cin >> n;
cout << "Los num perfectos son: " << endl;

for (int i = 1; i <= n; i++)
{
esPerfecte(i);

if (esPerfecte(i) == true)
{
cout << i << endl;
}


}

system("PAUSE");
}


Gracias :)