tenho um programa perfeito que faz exatamento o que preciso. porem, como podem ver, a partir da variavel "a32", o COMPUTADOR faz uma conta errada!!!! não entendi por que ainda... alguém pode me ajudar??? esse programa pega um numero de 9 digitos qualquer e o divide em 9 variaveis, que ele depois coloca em forma de matriz 3x3. eu conferi a estrutura inumeras vezes, e não vi falhas ainda. o processo fica perfeito ateh a variavel "a32", que ao executar o script, coloca na variavel um valor diferente do 8º digito do numero inicialmente digitado. o erro se propaga, claro, e tb mostra um valor errado em "a33" segue abaixo o programa para que possam me ajudar a identificar o erro. agradeço antecipadamente se puderem me ajudar!!! preciso disso para amanha!!! =( int main(void) { float numero; int a11, a12, a13, a21, a22, a23, a31, a32, a33, numeroestranhoquearrumouoproblema; scanf("%f", &numero); a11 = (int)((numero)/100000000); a12 = (int)((numero)/10000000)-10*a11; a13 = (int)((numero)/1000000)-100*a11-10*a12; a21 = (int)((numero)/100000)-1000*a11-100*a12-10*a13; a22 = (int)((numero)/10000)-10000*a11-1000*a12-100*a13-10*a21; a23 = (int)((numero)/1000)-100000*a11-10000*a12-1000*a13-100*a21-10*a22; a31 = (int)((numero)/100)-1000000*a11-100000*a12-10000*a13-1000*a21-100*a22-10*a23; a32 = (int)((numero)/10)-10000000*a11-1000000*a12-100000*a13-10000*a21-1000*a22-100*a23-10*a31; a33 = (int)((numero)/1)-100000000*a11-10000000*a12-1000000*a13-100000*a21-10000*a22-1000*a23-100*a31-10*a32; printf("%d", a11); printf(" %d ", a12); printf("%d \n", a13); printf("%d", a21); printf(" %d ", a22); printf("%d \n", a23); printf("%d", a31); printf(" %d ", a32); printf("%d \n", a33); system("PAUSE"); return 0; }