fork download
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int upc[12];
  5.  
  6. for (int i = 0; i < 12; i++) {
  7. scanf("%d", &upc[i]);
  8. }
  9.  
  10. int odd_sum = 0;
  11. for (int i = 0; i < 11; i += 2) {
  12. odd_sum += upc[i];
  13. }
  14. int step1 = odd_sum * 3;
  15.  
  16. int even_sum = 0;
  17. for (int i = 1; i < 10; i += 2) {
  18. even_sum += upc[i];
  19. }
  20. int step2 = step1 + even_sum;
  21.  
  22. int last_digit = step2 % 10;
  23. int check_digit;
  24. if (last_digit == 0) {
  25. check_digit = 0;
  26. } else {
  27. check_digit = 10 - last_digit;
  28. }
  29.  
  30. printf("\nHasil Langkah 1 : %d\n", step1);
  31. printf("Hasil Langkah 2 : %d\n", step2);
  32. printf("Check Digit Hitungan : %d\n", check_digit);
  33. printf("Check Digit Barcode : %d\n\n", upc[11]);
  34.  
  35. for (int i = 0; i < 12; i++) {
  36. printf("%d ", upc[i]);
  37. }
  38.  
  39. if (check_digit == upc[11]) {
  40. printf("benar\n");
  41. } else {
  42. printf("salah\n");
  43. }
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Hasil Langkah 1 : -1286020327
Hasil Langkah 2 : -1285982217
Check Digit Hitungan : 17
Check Digit Barcode  : 22043

194 0 -140264330 32766 1 0 -1637618859 5344 0 0 -1514101979 22043 salah