Guest User

Untitled

a guest
Jul 18th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int main(){
  4.  
  5.  
  6. int resultado=0;
  7. int digito=0;
  8. int suma=0;
  9. int factor []={4,3,2,9,8,7,6,5,4,3,2};
  10. int rut [11], rut1 [11];
  11.  
  12. //pide y lee rut
  13. printf ("Digita el RUT sin dígito verificador.n");
  14. for (int i=0; i<15;i++){
  15. scanf ("%d",&rut[i]);
  16. }
  17.  
  18. //Verifica que las dos primeras posiciones estén entre 1 y 21,
  19. //de la 3a a la 8a posición debe ser distinto de 0,
  20. //y las posiciones 9 y 10 deben ser 0.
  21. if (rut[0] && rut[1] >1 && rut[0] && rut[1] < 22 &&
  22. rut[3], rut [4], rut [5], rut [6], rut [7], rut [8] != 0 &&
  23. rut [9]&& rut[10] == 0){
  24.  
  25. //multiplico dígitos por factor
  26. for (int j=0;j<15;j++){
  27. rut1[j]= rut[j]*factor[j];
  28. }
  29.  
  30. //sumo los elementos
  31. for (int m=0;m<11;m++)
  32. suma+=rut1[m];
  33.  
  34. //divido resultado entre 11. El dígito es 11 - resto
  35.  
  36. resultado= 11 - (suma%11);
  37.  
  38. //si resultado es menor que 10, ese el el dígito verificador.
  39. if (resultado<10)
  40. resultado=digito;
  41. //si resultado es 11, el dígito verificador es 0.
  42. else if (resultado==11)
  43. digito=0;
  44. //si resultado es 10, el número se desecha.
  45. else if (digito==10)
  46. digito=0;
  47.  
  48. for (int n=0; n<15;n++)
  49. printf ("Rut inicial: %dn", rut[n]);
  50. for (int r=0; r<15;r++)
  51. printf ("Rut multiplicado por factor: %dn", rut1[r]);
  52. printf ("Suma dígitos: %dn", suma);
  53. printf ("El dígito es: %d", digito);
  54. }
  55.  
  56. else
  57.  
  58. printf ("Número de RUT no corresponde.n");
  59. }
Add Comment
Please, Sign In to add comment