Mirá esto no es lo que vos estás pidiendo, pero te puede dar alguna idea:
http://www.mediafire.com/?2or6l2m3p9jqzwa
otra cosa, es que si tenés que exponenciar consideres usar la función POW, aunque podés safar de usarla si querés hacer como en estas funciones mías.
88
Código (cpp) [Seleccionar]
//
// By 85
// elhacker.net
// etalking.com.ar
// 2013
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma warning(disable: 4244)
#pragma warning(disable: 4390)
#include<windows.h> // SYSTEM (stdlib.h)
#include<stdio.h>
#include"ascii.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Factorizar(int num){
int copia= num, m = 1, cifras = 1;
for(;copia>=10;copia/=10) cifras++;
for(int x=0;x<(cifras-1);x++) m*=10;
float v1=num;
int v2=0, v3=num;
for(int i=0; i<cifras; i++){//Descompone en factores
printf("%f\n",v1);
system("pause");
v1/=m;
v2=(int)v1*m;
v3-=v2;
m/=10;
v1=v3;
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void IngresoInt(){
int n;
printf("Ingrese un número\n");
scanf("%d",&n);
Factorizar(n);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Factorizar2(char* num){//TODO: Comprobación de ingreso no válido (ver ascii.h)
int sig=0;
if((sig=num[0]=='+')||(sig=num[0]=='-'));
int len=strlen(num);
int ac=0, v1, cifras = len,m = 1;
for(int x=0;x<((cifras-1)-sig);x++) m*=10;
for(int i=sig;i<cifras;i++){//Factoriza y acumula
v1=num[i]-'0';
v1*=m;
printf("%d\n",v1);
system("pause");
ac+=v1;
m/=10;
}
printf("%d\n",ac);
system("pause");
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void IngresoString(){
char n[256];
printf("Ingrese un número\n");
scanf("%s",n);
Factorizar2(n);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main(){
IngresoInt();
//IngresoString();
system("pause");
return 0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
http://www.mediafire.com/?2or6l2m3p9jqzwa
otra cosa, es que si tenés que exponenciar consideres usar la función POW, aunque podés safar de usarla si querés hacer como en estas funciones mías.
88