Hola si alguien puediera ayudarme con este programa , si las funciones que tengo echas no tienen fallos y algun consejito pa seguir que estoy atrancadisimo,el programa tiene que leer un numero hacerle el fatorial, el factorial descomponerlo en primos y estos primos ordenarlos por medio de la funcion multiplicar, y con la de dividir deberia quitar si no puse nada mal, los primos comunes en el denominador y numerador, dejo lo que llevo aca abajo un saludo y gracias de antemano.
#include <iostream>
#include <vector>
using namespace std;
//FUNCION QUE CALCULA EL FACTORIAL DE UN NUMERO QUE SE LE PASA POR PARAMETRO PERO SIN CALCULAR SU RESULTADO
vector<int> factorial(int &num)
{
vector<int>fact;
int cont;
for (cont=1; cont<=num; cont++) fact.push_back(cont);
return fact;
}
vector<int> descomponer(vector<int> &num)
{
vector<int>primo;
int factor=2;
int num2;
for(num2=0; num2<(int)num.size(); num2++) while (num.at(num2) >=2)
{
if (num.at(num2)%factor==0)
{
primo.push_back(factor);
num.at(num2)/=factor;
factor=2;
}
else if(num.at(num2)%factor!=0)
{
factor++;
}
}
return primo;
}
vector<int> Multiplicar(vector<int>v1,vector<int>v2)
{
vector<int>v3;
int aux1=0,aux2=0;
while (v1.size()>aux1 && v2.size()>aux2)
{
if(v1[aux1]<=v2[aux2])
v3.push_back(v1[aux1]),aux1++;
if (v2[aux2]<v1[aux1])
v3.push_back(v2[aux2]),aux2++;
}
while (v1.size()<aux1)
{
v3.push_back(v1[aux1])
}
while (v2.size()<aux2)
{
v3.push_back(v2[aux2])
}
return v3;
}
void Dividir (vector<int>&num,vector<int>&dem)
{
vector<int>saln;
vector<int>sald;
int var1,var2;
while (num.size()>var1 && dem.size()>var2)
{
if(num[saln]<dem[var2])
saln.push_back(num[var1]),var1++;
if (dem[var2]<num[var1])
sald.push_back(v2[aux2]),var2++;
else
var1++;
var2++;
}
while (num.size()<var1)
{
saln.push_back(num[var1])
}
while (dem.size()<var2)
{
sald.push_back(dem[var2])
}
num=saln;
dem=sald;
}
bool ComprobarM (vector<int>)
{
bool sar=true;
for (int i=0; i<vector.size(); ++i)
{
int nuevo= vector[i]*i;
if (nuevo/i== vector[i])
cout
else
{
sar=false;
return sar;
}
}
}
Pon el código entre las etiquetas GeSHi y te ayudo con gusto. Explica mejor el problema también!
como lo pongo entre las etiketas geshi?
Podés modificar tu mensaje (es una opción arriba a la derecha de tu mensaje escrito). Cuando estés en el cuadro de texto, selecciona el código, y arriba a la derecha al lado de todo el formato de la fuente, ves un menú desplegable que dice "GeSHi". Seleccionas eso y el lenguaje en el que escribiste el código y listo.
#include <stdio.h>
int fctrs (int n, int x [])
{
int a = n, i=1, cont=0;
x [cont] = 1; cont++;
for (i=2; i < n; i++)
while (a%i == 0) { a=a/i; x [cont] = i; cont++; }
x [cont] = 0;
return cont;
}
N es el número a descomponer. X es el vector en el que se almacenan los factores primos. Devuelve el número de factores primos (contando el 1).
ok gracias ya lo vi , el programa debe hacer combinaciones con y sin repeticion usando esas funciones(si estan bien claro), y me pide que el numero n y k que son haga sus primos y los ordene ,sin usar metodos de ordenacion o de la burbuja y los guarde en un vector al que luego le hare el factorial , y la de division para es para mostrar en pantalla el resultado del numerador y denominador, simplificando los primos comunes de ambos
Cita de: Wolfillo en 22 Diciembre 2011, 17:19 PM
ok gracias ya lo vi , el programa debe hacer combinaciones con y sin repeticion usando esas funciones(si estan bien claro), y me pide que el numero n y k que son haga sus primos y los ordene ,sin usar metodos de ordenacion o de la burbuja y los guarde en un vector al que luego le hare el factorial , y la de division para es para mostrar en pantalla el resultado del numerador y denominador, simplificando los primos comunes de ambos
No he leído tu código, pero el mío te descompone un número en factores primos (ordenados de menor a mayor, incluyendo el 1), y te los guarda en un factorial. Pregunta: ¿Para qué asignatura es el trabajo, y en qué año estás?
Cita de: Sagrini en 22 Diciembre 2011, 17:21 PM
No he leído tu código, pero el mío te descompone un número en factores primos (ordenados de menor a mayor, incluyendo el 1), y te los guarda en un factorial. Pregunta: ¿Para qué asignatura es el trabajo, y en qué año estás?
si lei tu código mas o menos es como el que tengo puesto de primos, estoy en primero del grado de informática y la asignatura es fundamentos de programación.