Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int main(){
- int resultado=0;
- int digito=0;
- int suma=0;
- int factor []={4,3,2,9,8,7,6,5,4,3,2};
- int rut [11], rut1 [11];
- //pide y lee rut
- printf ("Digita el RUT sin dígito verificador.n");
- for (int i=0; i<15;i++){
- scanf ("%d",&rut[i]);
- }
- //Verifica que las dos primeras posiciones estén entre 1 y 21,
- //de la 3a a la 8a posición debe ser distinto de 0,
- //y las posiciones 9 y 10 deben ser 0.
- if (rut[0] && rut[1] >1 && rut[0] && rut[1] < 22 &&
- rut[3], rut [4], rut [5], rut [6], rut [7], rut [8] != 0 &&
- rut [9]&& rut[10] == 0){
- //multiplico dígitos por factor
- for (int j=0;j<15;j++){
- rut1[j]= rut[j]*factor[j];
- }
- //sumo los elementos
- for (int m=0;m<11;m++)
- suma+=rut1[m];
- //divido resultado entre 11. El dígito es 11 - resto
- resultado= 11 - (suma%11);
- //si resultado es menor que 10, ese el el dígito verificador.
- if (resultado<10)
- resultado=digito;
- //si resultado es 11, el dígito verificador es 0.
- else if (resultado==11)
- digito=0;
- //si resultado es 10, el número se desecha.
- else if (digito==10)
- digito=0;
- for (int n=0; n<15;n++)
- printf ("Rut inicial: %dn", rut[n]);
- for (int r=0; r<15;r++)
- printf ("Rut multiplicado por factor: %dn", rut1[r]);
- printf ("Suma dígitos: %dn", suma);
- printf ("El dígito es: %d", digito);
- }
- else
- printf ("Número de RUT no corresponde.n");
- }
Add Comment
Please, Sign In to add comment