lenux
(usa Fedora)
Enviado em 08/06/2006 - 09:47h
E ai galera, blz ??
Bom sou iniciante em c e precisava resolver este seguinte desafio ..... este desafio envolve matriz, e não estou entendendo mto o funcionamento de matrizes ..
Peço, por gentileza que me ajudem, postando possíveis resoluções em meu email: bomfile@gmail.com.
CPF
Os dois dígitos de verificação do CFP (constituído de 9 dígitos) são calculados através do algoritmo descrito a seguir:
Etapa 1: cálculo do DV1
Soma 1: soma dos produtos de cada dígito por um peso de 2 a 10, na ordem inversa (do nono para o primeiro). Multiplique a soma 1 por 10 e calcule o resto da divisão do resultado por 11. Se der 10, DV1 é zero, caso contrário o DV1 é o próprio resto.
Etapa 2: cálculo do DV2
Soma 2: soma dos produtos de cada dígito por um peso de 3 a 11, também na ordem inversa. Adicione a Soma 2 ao dobro do DV1, multiplique por 10 e calcule o resto da divisão do resultado por 11. Se der 10, DV2 é zero, caso contrário o DV2 é o próprio resto.
Etapa 3: Multiplique DV1 por 10, some com DV2 e você tem o número de controle do CPF.
EXEMPLO: Para o CPF 398 136 146, tem-se:
Etapa 1: 2x6 + 3x4 + 4x1 + 5x6 + 6x3 + 7x1 + 8x8 + 9x9 + 10x3 = 258
2580 mod 11 = 6, portanto, DV1 =6
Etapa 2: 3x6 + 4x4 + 5x1 + 6x6 + 7x3 + 8x1 + 9x8 + 10x9 + 11x3 = 299
(299 + (6x2)) x10 mod 11 = 3150 mod 11 = 8, portanto DV2 =8
Etapa 3: DV1 x 10 + DV2 = 6x10 + 8 = 68, que é o número procurado.
Elabore um programa, em Linguagem C, que dado um CPF calcule os dois dígitos de verificação.
Agradeço pela colaboração ...